1class ActionRepositionPluggedItem : ActionInteractBase
4 void ActionRepositionPluggedItem()
32 if (!targetItem || !targetItem.
IsTakeable() || targetItem.IsBeingPlaced() || (targetItem.GetCompEM() && !targetItem.GetCompEM().IsPlugged()) || ( targetItem.GetHierarchyParent() && !
BaseBuildingBase.Cast(targetItem.GetHierarchyParent()) ) || ((targetParent && !targetItem.CanDetachAttachment(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
35 if (targetItem.HasEnergyManager() && targetItem.GetCompEM().IsPlugged())
36 return player.GetInventory().CanAddEntityIntoHands(targetItem);
41 override bool CanContinue(
ActionData action_data)
44 return ent && ent.GetCompEM().GetCordLength() > 0;
49 super.Start(action_data);
53 action_data.m_Player.PlacingStartServer(ntarget);
55 action_data.m_Player.PlacingStartLocal(ntarget);
58 override void OnExecuteServer(
ActionData action_data)
62 if (
g_Game.IsMultiplayer())
69 action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
72 override void OnExecuteClient(
ActionData action_data)
78 action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
81 override void CreateAndSetupActionCallback(
ActionData action_data)
88 if (target.IsHeavyBehaviour())
99 action_data.m_Callback = callback;