DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnHandsPanelDropReceived()

void HandsArea::OnHandsPanelDropReceived ( Widget w,
int x,
int y,
Widget receiver )
inlineprotected

См. определение в файле HandsArea.c строка 157

158 {
159 ItemPreviewWidget ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( "Render" ) );
160 if( !ipw )
161 {
162 string name = w.GetName();
163 name.Replace( "PanelWidget", "Render" );
164 ipw = ItemPreviewWidget.Cast( w.FindAnyWidget( name ) );
165 }
166
167 if( !ipw )
168 {
169 ipw = ItemPreviewWidget.Cast( w );
170 }
171
172 if( !ipw || !ipw.GetItem() || !ipw.IsInherited( ItemPreviewWidget ) )
173 {
174 return;
175 }
176
177 if( !ipw.GetItem().GetInventory().CanRemoveEntity() )
178 return;
179
180 if( GetGame().GetPlayer().GetHumanInventory().CanAddEntityIntoHands( ipw.GetItem() ) )
181 {
182 ItemBase item_base = ItemBase.Cast( ipw.GetItem() );
183 float stackable = item_base.GetTargetQuantityMax(-1);
184
185 if( stackable == 0 || item_base.GetQuantity() <= stackable )
186 {
187 GetGame().GetPlayer().PredictiveTakeEntityToHands( item_base );
188 }
189 else if( stackable != 0 && stackable <= item_base.GetQuantity() )
190 {
191 item_base.SplitIntoStackMaxHandsClient( PlayerBase.Cast( GetGame().GetPlayer() ) );
192 }
193 }
194 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
class GP5GasMask extends MaskBase ItemBase
PlayerBase GetPlayer()
Определения ModifierBase.c:51
proto native DayZPlayer GetPlayer()
proto native EntityAI GetItem()
proto native CGame GetGame()

Перекрестные ссылки GetGame(), ItemPreviewWidget::GetItem(), CGame::GetPlayer(), GetPlayer(), name, x и y.