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

◆ DraggingOverSwap()

void Icon::DraggingOverSwap ( Widget w,
int x,
int y,
Widget receiver )
inlineprotected

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

254 {
255 if (w == null)
256 {
257 return;
258 }
259
260 string name = w.GetName();
261 name.Replace("PanelWidget", "Render");
262
263 ItemPreviewWidget targetIpw = ItemPreviewWidget.Cast(receiver.FindAnyWidget( "Render" ));
264 if (m_HandsIcon)
265 {
266 targetIpw = ItemPreviewWidget.Cast(receiver.GetParent().FindAnyWidget( "Render" ));
267 }
268
269 ItemPreviewWidget selectedIpw = ItemPreviewWidget.Cast(w.FindAnyWidget(name));
270 if (selectedIpw == null)
271 {
272 selectedIpw = ItemPreviewWidget.Cast(w.FindAnyWidget("Render"));
273 }
274
275 if (selectedIpw == null)
276 {
277 return;
278 }
279
280 InventoryItem targetEntity = InventoryItem.Cast(targetIpw.GetItem());
281 InventoryItem selectedEntity = InventoryItem.Cast(selectedIpw.GetItem());
282 if (!selectedEntity || !targetEntity)
283 {
284 return;
285 }
286
287 InventoryLocation il = new InventoryLocation();
288 PlayerBase player = PlayerBase.Cast(g_Game.GetPlayer());
289 if (selectedEntity.GetHierarchyRootPlayer() == player)
290 {
291 int index = player.GetHumanInventory().FindUserReservedLocationIndex(m_Item);
292 if (index >= 0)
293 {
294 player.GetHumanInventory().GetUserReservedLocation(index, il);
295
296 if (GameInventory.CanForceSwapEntitiesEx(selectedEntity, null, targetEntity, il))
297 {
298 ColorManager.GetInstance().SetColor(w, ColorManager.FSWAP_COLOR);
299 ItemManager.GetInstance().HideDropzones();
300 ItemManager.GetInstance().ShowSourceDropzone(il.GetParent());
301 return;
302 }
303 }
304 }
305 static int testedFlags = InventoryCombinationFlags.SWAP | InventoryCombinationFlags.FSWAP;
306
307 int chosenInventoryAction = ItemManager.GetChosenCombinationFlag(selectedEntity, targetEntity, testedFlags, il);
308 UpdateFrameColor(selectedEntity, targetEntity, chosenInventoryAction, w, il);
309 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
DayZGame g_Game
Определения DayZGame.c:4074
void UpdateFrameColor(EntityAI selectedEntity, EntityAI targetEntity, int combinationFlag, Widget w, InventoryLocation il=null)
Определения Icon.c:564
ItemBase m_Item
Определения Icon.c:16
bool m_HandsIcon
Определения Icon.c:17
proto native EntityAI GetParent()
returns parent of current inventory location
proto native EntityAI GetItem()

Перекрестные ссылки GameInventory::CanForceSwapEntitiesEx(), InventoryCombinationFlags::FSWAP, ColorManager::FSWAP_COLOR, g_Game, ItemManager::GetChosenCombinationFlag(), ColorManager::GetInstance(), ItemManager::GetInstance(), ItemPreviewWidget::GetItem(), InventoryLocation::GetParent(), ItemManager::HideDropzones(), m_HandsIcon, m_Item, name, ColorManager::SetColor(), ItemManager::ShowSourceDropzone(), InventoryCombinationFlags::SWAP, UpdateFrameColor(), x и y.