9 void HandTakingAnimated_Show(Man player = null,
HandStateBase parent = null, WeaponActions action = WeaponActions.NONE,
int actionType = -1)
26 Debug.InventoryHFSMLog(
"Action - STS = " + e.m_Player.GetSimulationTimeStamp(), e.ToString() ,
"n/a",
"OnEntry", e.m_Player.ToString() );
37 if (!
GetGame().IsDedicatedServer())
39 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
44 GetGame().ClearJunctureEx(e.m_Player, m_Dst.GetItem());
50 Error(
"[hndfsm] " +
Object.GetDebugName(e.m_Player) +
" STS = " + e.m_Player.GetSimulationTimeStamp() +
" HandTakingAnimated_Show m_Src=invalid, item not in bubble?");
54 Error(
"[hndfsm] HandTakingAnimated_Show, error - m_Src not configured");
77 ref HandTakingAnimated_Hide m_Hide;
78 ref HandTakingAnimated_Show m_Show;
82 void HandAnimatedTakingFromAtt(Man player = null,
HandStateBase parent = null)
85 m_Hide =
new HandTakingAnimated_Hide(player,
this, WeaponActions.HIDE, -1);
86 m_Show =
new HandTakingAnimated_Show(player,
this, WeaponActions.SHOW, -1);
89 HandEventBase _fin_ =
new HandEventHumanCommandActionFinished;
100 m_FSM.SetInitialState(m_Hide);
106 m_Show.m_Src = e.GetSrc();
107 m_Show.m_Dst = e.GetDst();
109 m_Hide.m_ActionType = e.GetAnimationID();
110 m_Show.m_ActionType = e.GetAnimationID();
119 #ifdef ENABLE_LOGGING
122 Debug.InventoryHFSMLog(
"Action - STS = " + e.m_Player.GetSimulationTimeStamp(), e.ToString() ,
"n/a",
"OnAbort", e.m_Player.ToString() );
127 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
129 GetGame().ClearJunctureEx(e.m_Player, m_Dst.GetItem());
138 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
override void OnItemInHandsChanged()
script counterpart to engine's class Inventory
static proto native bool LocationSyncMoveEntity(notnull InventoryLocation src_loc, notnull InventoryLocation dst_loc)
synchronously removes item from current inventory location and adds it to destination no anims involv...
const int c_InventoryReservationTimeoutShortMS
Abstracted event, not to be used, only inherited.
Hand finite state machine.
simple class starting animation action specified by m_action and m_actionType
represent hand state base
proto native CGame GetGame()
void Error(string err)
Messagebox with error message.
ref InventoryLocation m_Src
HandStateEquipped OnEntry
FSMTransition< HandStateBase, HandEventBase, HandActionBase, HandGuardBase > HandTransition
class WeaponChambering extends WeaponStateBase IsWaitingForActionFinish
class WeaponChambering_Chamber_OnEntry extends WeaponChambering_Base OnExit