123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- class ActionPullOutPlug : ActionInteractBase
- {
- void ActionPullOutPlug()
- {
- m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_INTERACTONCE;
- m_Text = "#pull_out_plug";
- }
-
- override bool DisplayTargetInActionText()
- {
- return true;
- }
-
- override string GetTargetName(PlayerBase player, ActionTarget target)
- {
- ItemBase targetItem = ItemBase.Cast(target.GetObject());
- if (targetItem && targetItem.HasEnergyManager())
- {
- string selection = targetItem.GetActionComponentName(target.GetComponentIndex());
- if (targetItem.GetCompEM() && targetItem.GetCompEM().GetPlugOwner(selection))
- return targetItem.GetCompEM().GetPlugOwner(selection).GetDisplayName();
- }
-
- return super.GetTargetName(player, target);
- }
- override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
- {
- EntityAI targetEntity = EntityAI.Cast(target.GetObject());
-
- if (targetEntity.HasEnergyManager())
- {
- string selection = targetEntity.GetActionComponentName(target.GetComponentIndex());
-
- if (GetGame().IsServer())
- return targetEntity.GetCompEM().GetPlugOwner(selection) != null;
- else
- return targetEntity.GetCompEM().IsSelectionAPlug(selection);
- }
-
- return false;
- }
- override void OnExecuteServer(ActionData action_data)
- {
- Object targetObject = action_data.m_Target.GetObject();
- if (targetObject)
- {
- EntityAI targetEntity = EntityAI.Cast(targetObject);
- string selection = targetObject.GetActionComponentName(action_data.m_Target.GetComponentIndex());
-
- EntityAI device = EntityAI.Cast(targetEntity.GetCompEM().GetPlugOwner(selection));
- if (device)
- device.GetCompEM().UnplugThis();
-
- // Disable Advanced Placement
- if (action_data.m_Player.IsPlacingServer())
- action_data.m_Player.PlacingCancelServer();
- }
- }
- }
|