39 override void Update(
int pCurrentCommandID)
42 super.Update(pCurrentCommandID);
112 bool isMenuOpen =
false;
143 typename input_type_name = action.GetInputType();
180 same_priority_input_array = temp_map_for_sort.Get(priority);
181 if (same_priority_input_array)
183 same_priority_input_array.Insert(input);
188 same_priority_input_array.Insert(input);
189 temp_map_for_sort.Insert(priority,same_priority_input_array);
190 array_of_priorities_to_sort.Insert(priority);
192 array_of_priorities_to_sort.Sort();
194 for (i = 0; i < array_of_priorities_to_sort.Count(); i++)
196 priority = array_of_priorities_to_sort[i];
197 same_priority_input_array = temp_map_for_sort.Get(priority);
198 for (j = 0; j < same_priority_input_array.Count(); j++)
200 input = same_priority_input_array.Get(j);
256 return action.GetVariantManager();
461 parent = targetEntity.GetHierarchyParent();
478 action_target = NULL;
482 for (
int i = 0; i < targetsCount; ++i)
485 Object targetObject = action_target.GetObject();
486 Object targetParent = action_target.GetParent();
488 if (targetParent && targetParent.IsEntityAI())
493 if (targetObject && (targetObject.IsEntityAI() || targetObject.IsWoodBase() || targetObject.IsRock()))
503 return action_target;
560 bool success =
false;
561 if (action_data.
m_Action.IsInstant())
577 success = action_data.
m_Action.InventoryReservation(action_data);
589 action_data.
m_Action.ClearInventoryReservationEx(action_data);
601 if (action.CanBePerformedFromQuickbar())
608 Debug.
ActionLog(
"Item = " + item +
", " + target.DumpToString(), action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
611 if (
GetGame().IsMultiplayer() && !action.IsLocal())
615 DPrint(
"ScriptInputUserData already posted - ActionManagerClient");
619 Debug.
ActionLog(
"Cannot start because ScriptInputUserData is already used", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
627 DPrint(
"Can not inicialize action" + action +
" - ActionManagerClient");
634 Debug.
ActionLog(
"Action data created wait to start", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
637 if (
GetGame().IsMultiplayer() && !action.IsLocal())
641 ctx.
Write(action.GetID());
645 if (action.UseAcknowledgment())
655 if (!action.UseAcknowledgment())
658 if (action.IsInstant())
665 if (action.IsInstant())
676 if (action.GetInput() == ain)
746 if (!
GetGame().IsMultiplayer())
793 int last_target_index = 0;
897 bool hasTarget = targetItem != NULL;
908 for (i = 0; i < actions.Count(); i++)
911 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
913 if (hasTarget == picked_action.HasTarget())
922 for (i = 0; i < actions.Count(); i++)
925 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
927 if (hasTarget == picked_action.HasTarget())
936 for (i = 0; i < actions.Count(); i++)
939 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
941 if (hasTarget == picked_action.HasTarget())
956 parent =
ItemBase.Cast(targetItem.GetHierarchyParent());
958 bool hasTarget = targetItem != NULL;
969 for (i = 0; i < actions.Count(); i++)
972 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand))
974 if (hasTarget == picked_action.HasTarget())
987 for (i = 0; i < actions.Count(); i++)
990 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
992 if (hasTarget == picked_action.HasTarget())
1004 for (i = 0; i < actions.Count(); i++)
1007 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1009 if (hasTarget == picked_action.HasTarget())
1027 bool hasTarget = targetItem != NULL;
1039 for (i = 0; i < actions.Count(); i++)
1042 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1044 if (hasTarget == picked_action.HasTarget())
1054 for (i = 0; i < actions.Count(); i++)
1057 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
1059 if (hasTarget == picked_action.HasTarget())
1074 bool hasTarget = targetItem != NULL;
1086 for (i = 0; i < actions.Count(); i++)
1089 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1091 if (hasTarget == picked_action.HasTarget())
1104 for (i = 0; i < actions.Count(); i++)
1107 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
1109 if (hasTarget == picked_action.HasTarget())
1127 parent = targetItem.GetHierarchyParent();
1130 bool hasTarget = targetItem != NULL;
1137 int variants_count,v;
1143 for (
int i = 0; i < actions.Count(); i++)
1146 if (picked_action.HasVariants())
1148 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1149 picked_action.GetVariants(variant_actions);
1150 for (v = 0; v < variant_actions.Count(); v ++)
1152 picked_action = variant_actions[v];
1153 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1155 if (hasTarget == picked_action.HasTarget())
1162 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1164 if (hasTarget == picked_action.HasTarget())
1174 for (
int j = 0; j < actions.Count(); j++)
1177 if (picked_action.HasVariants())
1179 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1180 picked_action.GetVariants(variant_actions);
1181 for (v = 0; v < variant_actions.Count(); v ++)
1183 picked_action = variant_actions[v];
1184 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1186 if (hasTarget == picked_action.HasTarget())
1193 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1195 if (hasTarget == picked_action.HasTarget())
1211 bool hasTarget = targetItem != NULL;
1222 for (
int i = 0; i < actions.Count(); i++)
1225 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBeSetFromInventory())
1227 if (hasTarget == picked_action.HasTarget())
1239 for (
int j = 0; j < actions.Count(); j++)
1242 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBeSetFromInventory())
1244 if (hasTarget == picked_action.HasTarget())
protected bool m_ActionInputWantEnd
protected bool m_ActionsAvaibale
protected void SetActionContext(ActionTarget target, ItemBase item)
protected bool m_ActionWantEndRequest
bool ActionPossibilityCheck(int pCurrentCommandID)
static ref array< ref ActionBase > m_ActionsArray
void ActionManagerBase(PlayerBase player)
protected ref ActionData m_CurrentActionData
protected int m_PendingActionAcknowledgmentID
map< typename, ref array< ActionBase_Basic > > TInputActionMap
map< typename, ref ActionInput > TTypeNameActionInputMap
class ActionTargets ActionTarget
ref ActionTarget m_Target
protected int m_SelectedActionInputToSrollIndex
void SetInventoryAction(ActionBase action_name, ItemBase target_item, ItemBase main_item)
void RequestInterruptAction()
client requests action interrupt
ActionBase GetPossibleAction(typename inputType)
void ProcessActionInputEnd()
override ActionTarget FindActionTarget()
void RegisterInputs(PlayerBase player)
void UpdateActionCategoryPriority()
void PerformActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
void ActionManagerClient(PlayerBase player)
protected int m_LastAcknowledgmentID
protected ref InventoryActionHandler m_InventoryActionHandler
override void SelectFirstActionCategory()
protected bool HasHandInventoryReservation()
override void RequestEndAction()
void SetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
bool CanSetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
protected ref InventoryLocation m_HandInventoryLocationTest
protected ref array< ActionInput > m_DefaultOrderOfActionInputs
bool CanPerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
override void OnActionEnd()
override void Update(int pCurrentCommandID)
ItemBase FindActionItem()
protected ref ActionData m_PendingActionData
override GetSelectedActionCategory()
void ResetInputsActions()
void PerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
protected void ActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
override void SelectPrevActionCategory()
protected bool m_ActionWantEndRequest_Send
array< ActionBase > GetPossibleActions(typename inputType)
protected ref array< ref InventoryLocation > m_ReservedInventoryLocations
protected ref TTypeNameActionInputMap m_RegistredInputsMap
static ActionVariantManager GetVariantManager(typename actionName)
int GetPossibleActionCount(typename inputType)
void EjectAction(ActionBase action)
void HandleInputsOnActionStart(ActionBase action)
void EjectAction(typename actionType)
void HandleInputsOnActionEnd()
protected bool m_ActionPossible
private ref ActionTargets m_Targets
void SetInventoryAction(ActionBase action_name, ActionTarget target, ItemBase main_item)
protected ref array< ActionInput > m_OrederedAllActionInput
protected ref array< ActionInput > m_OrderedStandartActionInputs
override void OnInstantAction(typename user_action_type, Param data=NULL)
void ProcessActionRequestEnd()
bool CanPerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
protected void FindContextualUserActions(int pCurrentCommandID)
override void OnJumpStart()
void InjectAction(typename actionType, ActionTarget target, ItemBase item)
void PerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
override void EndActionInput()
override void SelectNextAction()
private ref ActionTarget m_ForceTarget
override void SelectPrevAction()
void UnsetInventoryAction()
override void SelectNextActionCategory()
int GetPossibleActionIndex(typename inputType)
override void Interrupt()
void SetDefaultInputsOrder()
protected bool m_ActionInputWantEnd_Send
void InjectAction(ActionBase action, ActionTarget target, ItemBase item)
void UnlockInventory(ActionData action_data)
void ForceTarget(Object targetObject)
protected bool LockInventory(ActionData action_data)
void SetActioninputOrder()
int GetTargetsCount()
returns count of founded targets
ActionTarget GetTarget(int index)
returns action target at index
proto native UIManager GetUIManager()
static void ActionLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
static bool IsFreeCameraEnabled()
Client only - manage set up crafting on client.
void SetAction(ActionBase action, ItemBase target_item, ItemBase main_item)
proto native void SetHands(notnull EntityAI parent, EntityAI e)
sets current inventory location type to Hands
static bool IsActionLogEnable()
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
proto bool Write(void value_out)
bool IsMenuOpen(int id)
Returns true if menu with specific ID is opened (see MenuID)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
proto void DPrint(string var)
Prints content of variable to console/log. Should be used for critical messages so it will appear in ...
proto native int GetRunningAction()
returns -1 when no action is running or RELOAD,MECHANISM, ....