854 {
856 SlotsIcon icon;
857 w.GetUserData(icon);
858 if (icon)
860
861 if (selectedItem)
862 {
863 switch (button)
864 {
866 #ifdef DIAG_DEVELOPER
867 if (
g_Game.IsLeftCtrlDown())
868 ShowActionMenu(selectedItem);
869 #endif
870
871 if (CanSplitEx(selectedItem))
872 {
873 selectedItem.OnRightClick();
874 }
875
876 break;
877
880 break;
881
883 PlayerBase controlledPlayer = PlayerBase.Cast(
g_Game.GetPlayer());
884 if (
g_Game.IsLeftCtrlDown())
885 {
887 return;
888
889 if (controlledPlayer.CanDropEntity(selectedItem))
890 {
891 if (selectedItem.GetTargetQuantityMax() < selectedItem.GetQuantity())
892 selectedItem.SplitIntoStackMaxClient(null, -1);
893 else
894 controlledPlayer.PhysicalPredictiveDropItem(selectedItem);
895 }
896 else
897 {
898 bool draggable = !controlledPlayer.GetInventory().HasInventoryReservation(selectedItem, null) && !controlledPlayer.GetInventory().IsInventoryLocked() && selectedItem.GetInventory().CanRemoveEntity() && !controlledPlayer.IsItemsToDelete();
899 ItemManager.GetInstance().SetWidgetDraggable(w, draggable);
900 }
901 }
902 else
903 {
904 ClosableContainer c = ClosableContainer.Cast(icon.
GetContainer());
905 if (c)
906 c.Toggle();
907 }
908
909 break;
910 }
911 }
912 }
class GP5GasMask extends MaskBase ItemBase
override bool InspectItem()