6 ref InventoryLocation
m_Src;
7 ref InventoryLocation m_Dst;
9 void HandTakingAnimated_Show(Man player = null, HandStateBase parent = null, WeaponActions action = WeaponActions.NONE,
int actionType = -1)
24 if ( LogManager.IsInventoryHFSMLogEnable() )
26 Debug.InventoryHFSMLog(
"Action - STS = " + e.m_Player.GetSimulationTimeStamp(), e.ToString() ,
"n/a",
"OnEntry", e.m_Player.ToString() );
30 if (
g_Game.IsDedicatedServer())
32 g_Game.ClearJunctureEx(e.m_Player, m_Dst.GetItem());
36 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
40 if (
g_Game.IsMultiplayer() && InventoryDebug.IsHandAckEnable())
42 if (!
g_Game.IsDedicatedServer())
50 if (GameInventory.LocationSyncMoveEntity(
m_Src, m_Dst))
60 Error(
"[hndfsm] " +
Object.GetDebugName(e.m_Player) +
" STS = " + e.m_Player.GetSimulationTimeStamp() +
" HandTakingAnimated_Show m_Src=invalid, item not in bubble?");
64 Error(
"[hndfsm] HandTakingAnimated_Show, error - m_Src not configured");
87 ref HandTakingAnimated_Hide m_Hide;
88 ref HandTakingAnimated_Show m_Show;
90 ref InventoryLocation m_Dst;
92 void HandAnimatedTakingFromAtt(Man player = null, HandStateBase parent = null)
95 m_Hide =
new HandTakingAnimated_Hide(player,
this, WeaponActions.HIDE, -1);
96 m_Show =
new HandTakingAnimated_Show(player,
this, WeaponActions.SHOW, -1);
99 HandEventBase _fin_ =
new HandEventHumanCommandActionFinished;
103 m_FSM =
new HandFSM(
this);
110 m_FSM.SetInitialState(m_Hide);
116 m_Show.m_Src = e.GetSrc();
117 m_Show.m_Dst = e.GetDst();
119 m_Hide.m_ActionType = e.GetAnimationID();
120 m_Show.m_ActionType = e.GetAnimationID();
122 m_Player.GetHumanInventory().AddInventoryReservationEx(m_Dst.GetItem(), m_Dst, GameInventory.c_InventoryReservationTimeoutShortMS);
129 #ifdef ENABLE_LOGGING
130 if ( LogManager.IsInventoryHFSMLogEnable() )
132 Debug.InventoryHFSMLog(
"Action - STS = " + e.m_Player.GetSimulationTimeStamp(), e.ToString() ,
"n/a",
"OnAbort", e.m_Player.ToString() );
137 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
139 g_Game.ClearJunctureEx(e.m_Player, m_Dst.GetItem());
148 m_Player.GetHumanInventory().ClearInventoryReservationEx(m_Dst.GetItem(), m_Dst);
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
simple class starting animation action specified by m_action and m_actionType
represent hand state base
void Error(string err)
Messagebox with error message.
ref InventoryLocation m_Src
void HandEventBase(Man p=null, InventoryLocation src=null)
HandStateEquipped OnEntry
FSMTransition< HandStateBase, HandEventBase, HandActionBase, HandGuardBase > HandTransition
class WeaponChambering extends WeaponStateBase IsWaitingForActionFinish
class WeaponChambering_Chamber_OnEntry extends WeaponChambering_Base OnExit