41 override void Update(
int pCurrentCommandID)
44 super.Update(pCurrentCommandID);
45 int currentCommandID =
m_Player.GetCurrentCommandID();
80 bool can_be_action_done = ((condition_mask &
m_CurrentActionData.m_Action.m_ConditionMask) == condition_mask);
128 bool isMenuOpen =
false;
132 if (
m_Player.IsRaised() || isMenuOpen)
159 typename input_type_name = action.GetInputType();
196 same_priority_input_array = temp_map_for_sort.Get(priority);
197 if (same_priority_input_array)
199 same_priority_input_array.Insert(input);
204 same_priority_input_array.Insert(input);
205 temp_map_for_sort.Insert(priority,same_priority_input_array);
206 array_of_priorities_to_sort.Insert(priority);
208 array_of_priorities_to_sort.Sort();
210 for (i = 0; i < array_of_priorities_to_sort.Count(); i++)
212 priority = array_of_priorities_to_sort[i];
213 same_priority_input_array = temp_map_for_sort.Get(priority);
214 for (j = 0; j < same_priority_input_array.Count(); j++)
216 input = same_priority_input_array.Get(j);
272 return action.GetVariantManager();
336 if (action && action.CanBeStarted())
487 parent = targetEntity.GetHierarchyParent();
504 action_target = NULL;
505 int targetsCount =
m_Targets.GetTargetsCount();
508 for (
int i = 0; i < targetsCount; ++i)
511 Object targetObject = action_target.GetObject();
512 Object targetParent = action_target.GetParent();
529 return action_target;
588 bool success =
false;
589 if (action_data.
m_Action.IsInstant())
609 success = action_data.
m_Action.InventoryReservation(action_data);
623 action_data.
m_Action.ClearInventoryReservationEx(action_data);
641 if (action.CanBePerformedFromQuickbar())
650 Debug.
ActionLog(
"Item = " + item +
", " + target.DumpToString(), action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
654 Debug.
ActionLog(
"Item = " + item +
", no target", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
659 if (
g_Game.IsMultiplayer() && !action.IsLocal())
663 DPrint(
"ScriptInputUserData already posted - ActionManagerClient");
667 Debug.
ActionLog(
"Cannot start because ScriptInputUserData is already used", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
676 DPrint(
"Can not inicialize action" + action +
" - ActionManagerClient");
683 Debug.
ActionLog(
"Action data created wait to start", action.ToString() ,
"n/a",
"ActionStart",
m_Player.ToString());
687 if (
g_Game.IsMultiplayer() && !action.IsLocal())
691 ctx.
Write(action.GetID());
695 if (action.UseAcknowledgment())
710 if (!action.UseAcknowledgment())
713 if (action.IsInstant())
720 if (action.IsInstant())
731 if (action.GetInput() == ain)
806 if (!
g_Game.IsMultiplayer())
827 return super.GetActionState();
872 int last_target_index = 0;
976 bool hasTarget = targetItem != NULL;
987 for (i = 0; i < actions.Count(); i++)
990 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
992 if (hasTarget == picked_action.HasTarget())
1001 for (i = 0; i < actions.Count(); i++)
1004 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1006 if (hasTarget == picked_action.HasTarget())
1015 for (i = 0; i < actions.Count(); i++)
1018 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1020 if (hasTarget == picked_action.HasTarget())
1035 parent =
ItemBase.Cast(targetItem.GetHierarchyParent());
1037 bool hasTarget = targetItem != NULL;
1048 for (i = 0; i < actions.Count(); i++)
1051 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand))
1053 if (hasTarget == picked_action.HasTarget())
1066 for (i = 0; i < actions.Count(); i++)
1069 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1071 if (hasTarget == picked_action.HasTarget())
1083 for (i = 0; i < actions.Count(); i++)
1086 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromQuickbar())
1088 if (hasTarget == picked_action.HasTarget())
1106 bool hasTarget = targetItem != NULL;
1118 for (i = 0; i < actions.Count(); i++)
1121 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1123 if (hasTarget == picked_action.HasTarget())
1133 for (i = 0; i < actions.Count(); i++)
1136 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
1138 if (hasTarget == picked_action.HasTarget())
1153 bool hasTarget = targetItem != NULL;
1165 for (i = 0; i < actions.Count(); i++)
1168 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBePerformedFromInventory())
1170 if (hasTarget == picked_action.HasTarget())
1183 for (i = 0; i < actions.Count(); i++)
1186 if (picked_action && picked_action.Can(
m_Player,target, itemInHand))
1188 if (hasTarget == picked_action.HasTarget())
1206 parent = targetItem.GetHierarchyParent();
1209 bool hasTarget = targetItem != NULL;
1216 int variants_count,v;
1222 for (
int i = 0; i < actions.Count(); i++)
1225 if (picked_action.HasVariants())
1227 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1228 picked_action.GetVariants(variant_actions);
1229 for (v = 0; v < variant_actions.Count(); v ++)
1231 picked_action = variant_actions[v];
1232 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1234 if (hasTarget == picked_action.HasTarget())
1241 if (picked_action && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1243 if (hasTarget == picked_action.HasTarget())
1253 for (
int j = 0; j < actions.Count(); j++)
1256 if (picked_action.HasVariants())
1258 picked_action.UpdateVariants(itemInHand, targetItem, -1);
1259 picked_action.GetVariants(variant_actions);
1260 for (v = 0; v < variant_actions.Count(); v ++)
1262 picked_action = variant_actions[v];
1263 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1265 if (hasTarget == picked_action.HasTarget())
1272 if (picked_action && picked_action.HasTarget() && picked_action.CanBeSetFromInventory() && picked_action.Can(
m_Player,target, itemInHand))
1274 if (hasTarget == picked_action.HasTarget())
1290 bool hasTarget = targetItem != NULL;
1301 for (
int i = 0; i < actions.Count(); i++)
1304 if (picked_action && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBeSetFromInventory())
1306 if (hasTarget == picked_action.HasTarget())
1318 for (
int j = 0; j < actions.Count(); j++)
1321 if (picked_action && picked_action.HasTarget() && picked_action.Can(
m_Player,target, itemInHand) && picked_action.CanBeSetFromInventory())
1323 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="")
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()
override int GetActionState()
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)
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)
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, ....