829 {
831 SlotsIcon icon;
832 w.GetUserData(icon);
833 if (icon)
835
836 if (selectedItem)
837 {
838 switch (button)
839 {
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
855 break;
856
859 if (
g_Game.IsLeftCtrlDown())
860 {
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 }
class GP5GasMask extends MaskBase ItemBase
override bool InspectItem()
proto native CGame GetGame()