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 (!
GetGame().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
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 IsFreeCameraEnabled()
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, ....