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();
491 int surfaceLiquidType = action_target.GetSurfaceLiquidType();
513 return action_target;
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());
770 if (!
GetGame().IsMultiplayer())
817 int last_target_index = 0;
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())
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());
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())
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())
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())
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())
1151 parent = targetItem.GetHierarchyParent();
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())
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())
1235 bool hasTarget = targetItem != NULL;
1246 for (
int i = 0; i < actions.Count(); i++)
1251 if (hasTarget == picked_action.
HasTarget())
1263 for (
int j = 0; j < actions.Count(); j++)
1268 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
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
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)
ref ActionTargets m_Targets
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)
ref ActionTarget m_ForceTarget
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)
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 IsFreeCameraEnabledNoPlayerMovement()
Client only - manage set up crafting on client.
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, ....