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

◆ Select()

override bool VicinitySlotsContainer::Select ( )
inlineprotected

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

143 {
144 SlotsIcon selected_slot = ItemManager.GetInstance().GetSelectedIcon();
145 EntityAI ent = GetFocusedItem();
146 ItemBase selected_item = ItemBase.Cast(ItemManager.GetInstance().GetSelectedItem());
147
148 if( !(selected_slot && selected_slot.IsOutOfReach() ) )
149 {
150 if( selected_item )
151 {
152 if( ent != selected_item)
153 {
154 if( selected_item && GetGame().GetPlayer().CanDropEntity( selected_item ) )
155 {
156 bool draggable = false;
157
158 PlayerBase player = PlayerBase.Cast(GetGame().GetPlayer());
159 draggable = !player.GetInventory().HasInventoryReservation( selected_item, null ) && !player.IsItemsToDelete();
160 draggable = draggable && selected_item.GetInventory().CanRemoveEntity();
161
162 if( draggable && m_ShowedItems.Find( selected_item ) == -1 )
163 {
164 if( selected_item.GetTargetQuantityMax() < selected_item.GetQuantity() )
165 selected_item.SplitIntoStackMaxClient( null, -1 );
166 else
167 player.PhysicalPredictiveDropItem( selected_item );
168 ItemManager.GetInstance().SetSelectedItemEx(null, null, null);
169 return true;
170 }
171 }
172 }
173 }
174 else
175 {
176 if( ent && ent.GetInventory().CanRemoveEntity())
177 {
178 EntityAI item_in_hands = GetGame().GetPlayer().GetHumanInventory().GetEntityInHands();
179 if( item_in_hands )
180 {
181 if( GameInventory.CanSwapEntitiesEx( item_in_hands, ent ) )
182 {
183 GetGame().GetPlayer().PredictiveSwapEntities( item_in_hands, ent );
184 return true;
185 }
186 }
187 else
188 {
189 if( GetGame().GetPlayer().GetHumanInventory().CanAddEntityInHands( ent ) )
190 {
191 GetGame().GetPlayer().PredictiveTakeEntityToHands( ent );
192 return true;
193 }
194 }
195 }
196 }
197 }
198
199 return false;
200 }
class LogManager EntityAI
class GP5GasMask extends MaskBase ItemBase
PlayerBase GetPlayer()
Определения ModifierBase.c:51
proto native DayZPlayer GetPlayer()
override EntityAI GetFocusedItem()
Определения CargoContainer.c:733
bool IsOutOfReach()
Определения SlotsIcon.c:729
ref array< EntityAI > m_ShowedItems
Определения VicinitySlotsContainer.c:6
proto native CGame GetGame()

Перекрестные ссылки GameInventory::CanSwapEntitiesEx(), Container::GetFocusedItem(), GetGame(), ItemManager::GetInstance(), CGame::GetPlayer(), GetPlayer(), ItemManager::GetSelectedIcon(), ItemManager::GetSelectedItem(), SlotsIcon::IsOutOfReach(), m_ShowedItems и ItemManager::SetSelectedItemEx().