41 override void Update(
int pCurrentCommandID)
44 super.Update(pCurrentCommandID);
45 int currentCommandID =
m_Player.GetCurrentCommandID();
74 bool can_be_action_done = ((condition_mask &
m_CurrentActionData.m_Action.m_ConditionMask) == condition_mask);
116 bool isMenuOpen =
false;
120 if (
m_Player.IsRaised() || isMenuOpen)
184 same_priority_input_array = temp_map_for_sort.Get(priority);
185 if (same_priority_input_array)
187 same_priority_input_array.Insert(input);
192 same_priority_input_array.Insert(input);
193 temp_map_for_sort.Insert(priority,same_priority_input_array);
194 array_of_priorities_to_sort.Insert(priority);
196 array_of_priorities_to_sort.Sort();
198 for (i = 0; i < array_of_priorities_to_sort.Count(); i++)
200 priority = array_of_priorities_to_sort[i];
201 same_priority_input_array = temp_map_for_sort.Get(priority);
202 for (j = 0; j < same_priority_input_array.Count(); j++)
204 input = same_priority_input_array.Get(j);
465 parent = targetEntity.GetHierarchyParent();
482 action_target = NULL;
483 int targetsCount =
m_Targets.GetTargetsCount();
486 for (
int i = 0; i < targetsCount; ++i)
489 Object targetObject = action_target.GetObject();
490 Object targetParent = action_target.GetParent();
507 return action_target;
566 bool success =
false;
567 if (action_data.m_Action.IsInstant())
571 Debug.
ActionLog(
"(-) Inventory lock - Not Used", action_data.m_Action.ToString() ,
"n/a",
"LockInventory", action_data.m_Player.ToString());
579 Debug.
ActionLog(
"(X) Inventory lock", action_data.m_Action.ToString() ,
"n/a",
"LockInventory", action_data.m_Player.ToString());
581 if (action_data.m_Action)
583 success = action_data.m_Action.InventoryReservation(action_data);
592 Debug.
ActionLog(
"(O) Inventory unlock", action_data.m_Action.ToString() ,
"n/a",
"UnlockInventory", action_data.m_Player.ToString());
594 if (action_data.m_Action)
595 action_data.m_Action.ClearInventoryReservationEx(action_data);
616 Debug.
ActionLog(
"Item = " + item +
", " + target.DumpToString(), action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
620 Debug.
ActionLog(
"Item = " + item +
", no target", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
628 DPrint(
"ScriptInputUserData already posted - ActionManagerClient");
632 Debug.
ActionLog(
"Cannot start because ScriptInputUserData is already used", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
640 DPrint(
"Can not inicialize action" + action +
" - ActionManagerClient");
647 Debug.
ActionLog(
"Action data created wait to start", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
764 if (!
g_Game.IsMultiplayer())
811 int last_target_index = 0;
915 bool hasTarget = targetItem != NULL;
926 for (i = 0; i < actions.Count(); i++)
929 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
931 if (hasTarget == picked_action.
HasTarget())
940 for (i = 0; i < actions.Count(); i++)
945 if (hasTarget == picked_action.
HasTarget())
954 for (i = 0; i < actions.Count(); i++)
959 if (hasTarget == picked_action.
HasTarget())
974 parent =
ItemBase.Cast(targetItem.GetHierarchyParent());
976 bool hasTarget = targetItem != NULL;
987 for (i = 0; i < actions.Count(); i++)
990 if (picked_action && picked_action.
HasTarget() && picked_action.
Can(
m_Player,target, itemInHand))
992 if (hasTarget == picked_action.
HasTarget())
1005 for (i = 0; i < actions.Count(); i++)
1010 if (hasTarget == picked_action.
HasTarget())
1022 for (i = 0; i < actions.Count(); i++)
1027 if (hasTarget == picked_action.
HasTarget())
1045 bool hasTarget = targetItem != NULL;
1057 for (i = 0; i < actions.Count(); i++)
1062 if (hasTarget == picked_action.
HasTarget())
1072 for (i = 0; i < actions.Count(); i++)
1075 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
1077 if (hasTarget == picked_action.
HasTarget())
1092 bool hasTarget = targetItem != NULL;
1104 for (i = 0; i < actions.Count(); i++)
1109 if (hasTarget == picked_action.
HasTarget())
1122 for (i = 0; i < actions.Count(); i++)
1125 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
1127 if (hasTarget == picked_action.
HasTarget())
1145 parent = targetItem.GetHierarchyParent();
1148 bool hasTarget = targetItem != NULL;
1155 int variants_count,v;
1161 for (
int i = 0; i < actions.Count(); i++)
1168 for (v = 0; v < variant_actions.Count(); v ++)
1170 picked_action = variant_actions[v];
1173 if (hasTarget == picked_action.
HasTarget())
1182 if (hasTarget == picked_action.
HasTarget())
1192 for (
int j = 0; j < actions.Count(); j++)
1199 for (v = 0; v < variant_actions.Count(); v ++)
1201 picked_action = variant_actions[v];
1204 if (hasTarget == picked_action.
HasTarget())
1213 if (hasTarget == picked_action.
HasTarget())
1229 bool hasTarget = targetItem != NULL;
1240 for (
int i = 0; i < actions.Count(); i++)
1245 if (hasTarget == picked_action.
HasTarget())
1257 for (
int j = 0; j < actions.Count(); j++)
1262 if (hasTarget == picked_action.
HasTarget())
ref ActionData m_CurrentActionData
void SetActionContext(ActionTarget target, ItemBase item)
bool m_ActionInputWantEnd
bool ActionPossibilityCheck(int pCurrentCommandID)
static ref array< ref ActionBase > m_ActionsArray
void ActionManagerBase(PlayerBase player)
int m_PendingActionAcknowledgmentID
bool m_ActionWantEndRequest
map< typename, ref array< ActionBase_Basic > > TInputActionMap
map< typename, ref ActionInput > TTypeNameActionInputMap
class ActionTargets ActionTarget
void Start(ActionData action_data)
bool CanBeSetFromInventory()
ActionVariantManager GetVariantManager()
bool HasTarget()
Action is performed on target, not with item itself, when set to true.
static int ComputeConditionMask(PlayerBase player, ActionTarget target, ItemBase item)
bool Can(PlayerBase player, ActionTarget target, ItemBase item, int condition_mask)
void UpdateVariants(Object item, Object target, int componet_index)
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
void SetInput(ActionInput ai)
bool CanBePerformedFromQuickbar()
bool CanBePerformedFromInventory()
void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
int GetVariants(out array< ref ActionBase > variants)
int m_SelectedActionInputToSrollIndex
void SetInventoryAction(ActionBase action_name, ItemBase target_item, ItemBase main_item)
ActionBase GetPossibleAction(typename inputType)
void ProcessActionInputEnd()
void FindContextualUserActions(int pCurrentCommandID)
override ActionTarget FindActionTarget()
void RegisterInputs(PlayerBase player)
void UpdateActionCategoryPriority()
ref InventoryLocation m_HandInventoryLocationTest
void PerformActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
void ActionManagerClient(PlayerBase player)
bool m_IgnoreAutoInputEnd
override void SelectFirstActionCategory()
override void RequestEndAction()
void SetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
bool CanSetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
ref InventoryActionHandler m_InventoryActionHandler
bool CanPerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
override void OnActionEnd()
ref array< ActionInput > m_OrederedAllActionInput
override void Update(int pCurrentCommandID)
ItemBase FindActionItem()
void ActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
override GetSelectedActionCategory()
void ResetInputsActions()
void PerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
override void SelectPrevActionCategory()
array< ActionBase > GetPossibleActions(typename inputType)
ref ActionData m_PendingActionData
ref ActionTargets m_Targets
override void EndOrInterruptCurrentAction()
static ActionVariantManager GetVariantManager(typename actionName)
int GetPossibleActionCount(typename inputType)
void EjectAction(ActionBase action)
void HandleInputsOnActionStart(ActionBase action)
bool HasHandInventoryReservation()
void EjectAction(typename actionType)
ref TTypeNameActionInputMap m_RegistredInputsMap
void HandleInputsOnActionEnd()
int m_LastAcknowledgmentID
ref array< ActionInput > m_DefaultOrderOfActionInputs
void SetInventoryAction(ActionBase action_name, ActionTarget target, ItemBase main_item)
override void OnInstantAction(typename user_action_type, Param data=NULL)
void ProcessActionRequestEnd()
bool CanPerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
bool m_ActionWantEndRequest_Send
override void OnJumpStart()
void InjectAction(typename actionType, ActionTarget target, ItemBase item)
void PerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
override void EndActionInput()
override void SelectNextAction()
ref array< ref InventoryLocation > m_ReservedInventoryLocations
override void SelectPrevAction()
void SetIgnoreAutomaticInputEnd(bool state)
void UnsetInventoryAction()
override void SelectNextActionCategory()
int GetPossibleActionIndex(typename inputType)
bool LockInventory(ActionData action_data)
void SetDefaultInputsOrder()
bool m_ActionInputWantEnd_Send
void InjectAction(ActionBase action, ActionTarget target, ItemBase item)
void UnlockInventory(ActionData action_data)
ref array< ActionInput > m_OrderedStandartActionInputs
ref ActionTarget m_ForceTarget
override void RequestInterruptAction()
client requests action interrupt
void ForceTarget(Object targetObject)
void SetActioninputOrder()
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 IsFreeCameraEnabledNoPlayerMovement()
Client only - manage set up crafting on client.
static bool IsActionLogEnable()
Base Param Class with no parameters.
proto bool Write(void value_out)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
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, ....