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

◆ MouseClick()

void AttachmentCategoriesRow::MouseClick ( Widget w,
int x,
int y,
int button )
inlineprotected

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

829 {
830 ItemBase selectedItem;
831 SlotsIcon icon;
832 w.GetUserData(icon);
833 if (icon)
834 selectedItem = ItemBase.Cast(icon.GetEntity());
835
836 if (selectedItem)
837 {
838 switch (button)
839 {
840 case MouseState.RIGHT:
841 #ifdef DIAG_DEVELOPER
842 if (g_Game.IsLeftCtrlDown())
843 ShowActionMenu(selectedItem);
844 #endif
845
846 if (CanSplitEx(selectedItem))
847 {
848 selectedItem.OnRightClick();
849 }
850
851 break;
852
853 case MouseState.MIDDLE:
854 InspectItem(selectedItem);
855 break;
856
857 case MouseState.LEFT:
858 PlayerBase controlledPlayer = PlayerBase.Cast(GetGame().GetPlayer());
859 if (g_Game.IsLeftCtrlDown())
860 {
861 if (icon.IsOutOfReach())
862 return;
863
864 if (controlledPlayer.CanDropEntity(selectedItem))
865 {
866 if (selectedItem.GetTargetQuantityMax() < selectedItem.GetQuantity())
867 selectedItem.SplitIntoStackMaxClient(null, -1);
868 else
869 controlledPlayer.PhysicalPredictiveDropItem(selectedItem);
870 }
871 else
872 {
873 bool draggable = !controlledPlayer.GetInventory().HasInventoryReservation(selectedItem, null ) && !controlledPlayer.GetInventory().IsInventoryLocked() && selectedItem.GetInventory().CanRemoveEntity() && !controlledPlayer.IsItemsToDelete();
874 ItemManager.GetInstance().SetWidgetDraggable(w, draggable);
875 }
876 }
877 else
878 {
879 ClosableContainer c = ClosableContainer.Cast(icon.GetContainer());
880 if (c)
881 c.Toggle();
882 }
883
884 break;
885 }
886 }
887 }
DayZGame g_Game
Определения DayZGame.c:3868
class GP5GasMask extends MaskBase ItemBase
PlayerBase GetPlayer()
Определения ModifierBase.c:51
override bool InspectItem()
Определения ContainerWithCargo.c:184
Container GetContainer()
Определения SlotsIcon.c:149
EntityAI GetEntity()
Определения SlotsIcon.c:365
bool IsOutOfReach()
Определения SlotsIcon.c:729
proto native CGame GetGame()
MouseState
Определения EnSystem.c:311

Перекрестные ссылки g_Game, SlotsIcon::GetContainer(), SlotsIcon::GetEntity(), GetGame(), ItemManager::GetInstance(), GetPlayer(), ClosableContainer::InspectItem(), SlotsIcon::IsOutOfReach(), ItemManager::SetWidgetDraggable(), x и y.