10 override void CreateConditionComponents()
16 override bool HasProneException()
21 override typename GetInputType()
26 override bool HasProgress()
38 if (!targetItem.
IsTakeable() || targetItem.IsBeingPlaced() || targetItem.IsSetForDeletion() || ( targetItem.GetHierarchyParent() && !
BaseBuildingBase.Cast(targetParent) ) || ((targetParent && !targetItem.CanDetachAttachment(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
41 return player.GetInventory().CanAddEntityIntoHands(targetItem);
44 override bool CanContinue(ActionData action_data)
49 override void OnEndServer(ActionData action_data)
51 super.OnEndServer(action_data);
54 if (takenEntity && takenEntity.GetCompEM() && takenEntity.IsElectricAppliance())
55 takenEntity.GetCompEM().UnplugThis();
58 override void OnExecute(ActionData action_data)
60 if (
GetGame().IsDedicatedServer())
69 float stackable = ntarget.GetTargetQuantityMax(-1);
71 if (stackable == 0 || stackable >= ntarget.GetQuantity())
73 action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
78 il.SetHands(action_data.m_Player, ntarget);
79 ntarget.SplitIntoStackMaxToInventoryLocationClient(il);
83 override void CreateAndSetupActionCallback(ActionData action_data)
91 if (target.IsHeavyBehaviour())
109 action_data.m_Callback = callback;
113 override bool CanBeUsedOnBack()
126 if (!targetItem || !targetItem.
IsTakeable() || targetItem.IsBeingPlaced())
129 return player.GetInventory().CanSwapEntitiesEx(targetItem,item);