459 {
460 SlotsIcon icon;
461 w.GetUserData(icon);
462
464 if (icon)
466
467 if (selectedItem)
468 {
470
471 switch (button)
472 {
474 #ifdef DIAG_DEVELOPER
476 ShowActionMenu(selectedItem);
477 #endif
478
479 if (isReserved)
480 {
482 GetGame().
GetPlayer().GetHumanInventory().ClearUserReservedLocationSynced(selectedItem);
483 attachmentParent.GetOnAttachmentReleaseLock().Invoke(selectedItem, icon.
GetSlotID());
484 }
485 else if (CanSplitEx(selectedItem))
486 {
487 selectedItem.OnRightClick();
488 }
489
490 break;
491
493 if (!isReserved)
495
496 break;
497
499 if (!isReserved)
500 {
502 if (
g_Game.IsLeftCtrlDown())
503 {
504 if (controlledPlayer.CanDropEntity(selectedItem))
505 {
506 if (selectedItem.
CanBeSplit() && selectedItem.GetTargetQuantityMax() < selectedItem.GetQuantity())
507 selectedItem.SplitIntoStackMaxClient(null, -1);
508 else
509 controlledPlayer.PhysicalPredictiveDropItem(selectedItem);
510 }
511 }
512 else
513 {
514 bool draggable = !controlledPlayer.GetInventory().HasInventoryReservation(selectedItem, null ) && !controlledPlayer.GetInventory().IsInventoryLocked() && selectedItem.GetInventory().CanRemoveEntity() && !controlledPlayer.IsItemsToDelete();
515 ItemManager.GetInstance().SetWidgetDraggable(w, draggable);
516 }
517 }
518
519 break;
520 }
521 }
522 }
class GP5GasMask extends MaskBase ItemBase
proto native DayZPlayer GetPlayer()
override bool InspectItem()
override bool CanBeSplit()
proto native CGame GetGame()