30 m_Targets =
new ActionTargets(player);
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;
144 for (
int i = 0; i < m_ActionsArray.Count(); i++)
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();
466 m_ForceTarget =
new ActionTarget(targetObject, parent, -1,
vector.Zero, -1);
471 m_ForceTarget = NULL;
479 return m_ForceTarget;
481 ActionTarget action_target;
482 action_target = NULL;
483 int targetsCount = m_Targets.GetTargetsCount();
486 for (
int i = 0; i < targetsCount; ++i)
488 action_target = m_Targets.GetTarget(i);
489 Object targetObject = action_target.GetObject();
490 Object targetParent = action_target.GetParent();
491 int surfaceLiquidType = action_target.GetSurfaceLiquidType();
511 action_target =
new ActionTarget(null, null, -1,
vector.Zero, -1);
513 return action_target;
545 if (!GetRunningAction())
572 bool success =
false;
573 if (action_data.m_Action.IsInstant())
577 Debug.ActionLog(
"(-) Inventory lock - Not Used", action_data.m_Action.ToString() ,
"n/a",
"LockInventory", action_data.m_Player.ToString());
585 Debug.ActionLog(
"(X) Inventory lock", action_data.m_Action.ToString() ,
"n/a",
"LockInventory", action_data.m_Player.ToString());
587 if (action_data.m_Action)
589 success = action_data.m_Action.InventoryReservation(action_data);
598 Debug.ActionLog(
"(O) Inventory unlock", action_data.m_Action.ToString() ,
"n/a",
"UnlockInventory", action_data.m_Player.ToString());
600 if (action_data.m_Action)
601 action_data.m_Action.ClearInventoryReservationEx(action_data);
622 Debug.ActionLog(
"Item = " + item +
", " + target.DumpToString(), action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
626 Debug.ActionLog(
"Item = " + item +
", no target", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
634 DPrint(
"ScriptInputUserData already posted - ActionManagerClient");
638 Debug.ActionLog(
"Cannot start because ScriptInputUserData is already used", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
646 DPrint(
"Can not inicialize action" + action +
" - ActionManagerClient");
653 Debug.ActionLog(
"Action data created wait to start", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
660 ctx.Write(action.
GetID());
762 void PerformAction(
int user_action_id, ActionTarget target,
ItemBase item,
Param extraData = NULL)
770 if (!
GetGame().IsMultiplayer())
817 int last_target_index = 0;
920 target =
new ActionTarget(targetItem, null, -1,
vector.Zero, -1);
921 bool hasTarget = targetItem != NULL;
932 for (i = 0; i < actions.Count(); i++)
935 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
937 if (hasTarget == picked_action.
HasTarget())
943 mainItem.GetActions(ContinuousDefaultActionInput, actions);
946 for (i = 0; i < actions.Count(); i++)
951 if (hasTarget == picked_action.
HasTarget())
960 for (i = 0; i < actions.Count(); i++)
965 if (hasTarget == picked_action.
HasTarget())
980 parent =
ItemBase.Cast(targetItem.GetHierarchyParent());
981 target =
new ActionTarget(targetItem, parent, -1,
vector.Zero, -1);
982 bool hasTarget = targetItem != NULL;
993 for (i = 0; i < actions.Count(); i++)
996 if (picked_action && picked_action.
HasTarget() && picked_action.
Can(
m_Player,target, itemInHand))
998 if (hasTarget == picked_action.
HasTarget())
1008 mainItem.GetActions(ContinuousDefaultActionInput, actions);
1011 for (i = 0; i < actions.Count(); i++)
1016 if (hasTarget == picked_action.
HasTarget())
1028 for (i = 0; i < actions.Count(); i++)
1033 if (hasTarget == picked_action.
HasTarget())
1049 ActionTarget target;
1050 target =
new ActionTarget(targetItem, null, -1,
vector.Zero, -1);
1051 bool hasTarget = targetItem != NULL;
1063 for (i = 0; i < actions.Count(); i++)
1068 if (hasTarget == picked_action.
HasTarget())
1078 for (i = 0; i < actions.Count(); i++)
1081 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
1083 if (hasTarget == picked_action.
HasTarget())
1096 ActionTarget target;
1097 target =
new ActionTarget(targetItem, null, -1,
vector.Zero, -1);
1098 bool hasTarget = targetItem != NULL;
1110 for (i = 0; i < actions.Count(); i++)
1115 if (hasTarget == picked_action.
HasTarget())
1128 for (i = 0; i < actions.Count(); i++)
1131 if (picked_action && picked_action.
Can(
m_Player,target, itemInHand))
1133 if (hasTarget == picked_action.
HasTarget())
1147 ActionTarget target;
1151 parent = targetItem.GetHierarchyParent();
1153 target =
new ActionTarget(targetItem, parent, -1,
vector.Zero, -1);
1154 bool hasTarget = targetItem != NULL;
1161 int variants_count,v;
1167 for (
int i = 0; i < actions.Count(); i++)
1174 for (v = 0; v < variant_actions.Count(); v ++)
1176 picked_action = variant_actions[v];
1179 if (hasTarget == picked_action.
HasTarget())
1188 if (hasTarget == picked_action.
HasTarget())
1195 mainItem.GetActions(ContinuousDefaultActionInput, actions);
1198 for (
int j = 0; j < actions.Count(); j++)
1205 for (v = 0; v < variant_actions.Count(); v ++)
1207 picked_action = variant_actions[v];
1210 if (hasTarget == picked_action.
HasTarget())
1219 if (hasTarget == picked_action.
HasTarget())
1233 ActionTarget target;
1234 target =
new ActionTarget(targetItem, null, -1,
vector.Zero, -1);
1235 bool hasTarget = targetItem != NULL;
1246 for (
int i = 0; i < actions.Count(); i++)
1251 if (hasTarget == picked_action.
HasTarget())
1260 mainItem.GetActions(ContinuousDefaultActionInput, actions);
1263 for (
int j = 0; j < actions.Count(); j++)
1268 if (hasTarget == picked_action.
HasTarget())
1297 private ref ActionTarget m_ForceTarget;
1298 private ref ActionTargets m_Targets;
ref ActionData m_CurrentActionData
void SetActionContext(ActionTarget target, ItemBase item)
bool m_ActionInputWantEnd
bool ActionPossibilityCheck(int pCurrentCommandID)
int m_PendingActionAcknowledgmentID
bool m_ActionWantEndRequest
map< typename, ref array< ActionBase_Basic > > TInputActionMap
map< typename, ref ActionInput > TTypeNameActionInputMap
int GetVariants(out array< ref ActionBase > variants)
void UpdateVariants(Object item, Object target, int componet_index)
bool CanBePerformedFromInventory()
void Start(ActionData action_data)
bool CanBePerformedFromQuickbar()
bool Can(PlayerBase player, ActionTarget target, ItemBase item, int condition_mask)
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
ActionVariantManager GetVariantManager()
bool CanBeSetFromInventory()
void SetInput(ActionInput ai)
static int ComputeConditionMask(PlayerBase player, ActionTarget target, ItemBase item)
override void SelectNextAction()
void SetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
ref array< ActionInput > m_OrderedStandartActionInputs
override void SelectFirstActionCategory()
bool CanPerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
void EjectAction(typename actionType)
void RegisterInputs(PlayerBase player)
void SetDefaultInputsOrder()
int GetPossibleActionCount(typename inputType)
array< ActionBase > GetPossibleActions(typename inputType)
override void OnActionEnd()
void ProcessActionRequestEnd()
ActionBase GetPossibleAction(typename inputType)
void SetInventoryAction(ActionBase action_name, ItemBase target_item, ItemBase main_item)
void ActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
override GetSelectedActionCategory()
bool m_IgnoreAutoInputEnd
ref array< ref InventoryLocation > m_ReservedInventoryLocations
ref InventoryActionHandler m_InventoryActionHandler
void SetActioninputOrder()
void InjectAction(ActionBase action, ActionTarget target, ItemBase item)
override ActionTarget FindActionTarget()
void PerformActionFromQuickbar(ItemBase mainItem, ItemBase targetItem)
override void SelectNextActionCategory()
void SetInventoryAction(ActionBase action_name, ActionTarget target, ItemBase main_item)
override void RequestInterruptAction()
client requests action interrupt
bool LockInventory(ActionData action_data)
void FindContextualUserActions(int pCurrentCommandID)
void HandleInputsOnActionEnd()
void UnlockInventory(ActionData action_data)
override void EndOrInterruptCurrentAction()
void UnsetInventoryAction()
bool m_ActionWantEndRequest_Send
override void RequestEndAction()
void PerformActionStart(ActionBase action, ActionTarget target, ItemBase item, Param extra_data=NULL)
ref array< ActionInput > m_DefaultOrderOfActionInputs
ref array< ActionInput > m_OrederedAllActionInput
override void SelectPrevAction()
bool HasHandInventoryReservation()
override void OnJumpStart()
void InjectAction(typename actionType, ActionTarget target, ItemBase item)
void ResetInputsActions()
void PerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
override void OnInstantAction(typename user_action_type, Param data=NULL)
override void EndActionInput()
ref InventoryLocation m_HandInventoryLocationTest
override void Update(int pCurrentCommandID)
void ForceTarget(Object targetObject)
void HandleInputsOnActionStart(ActionBase action)
bool CanPerformActionFromInventory(ItemBase mainItem, ItemBase targetItem)
void UpdateActionCategoryPriority()
int m_SelectedActionInputToSrollIndex
ref TTypeNameActionInputMap m_RegistredInputsMap
void ActionManagerClient(PlayerBase player)
void ProcessActionInputEnd()
int m_LastAcknowledgmentID
static ActionVariantManager GetVariantManager(typename actionName)
void EjectAction(ActionBase action)
int GetPossibleActionIndex(typename inputType)
ref ActionData m_PendingActionData
override void SelectPrevActionCategory()
ItemBase FindActionItem()
bool m_ActionInputWantEnd_Send
void SetIgnoreAutomaticInputEnd(bool state)
bool CanSetActionFromInventory(ItemBase mainItem, ItemBase targetItem)
Client only - manage set up crafting on client.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
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 ...