DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
HandReplacingItemInHands.c
См. документацию.
1class HandStartReplacingItemInHands extends HandStateBase
2{
3 void HandStartReplacingItemInHands (Man player = NULL, HandStateBase parent = NULL)
4 { }
5
6 override void OnEntry (HandEventBase e)
7 {
8 super.OnEntry(e);
9
10 Man player = e.m_Player;
11 EntityAI itemInHands = player.GetHumanInventory().GetEntityInHands();
12
14 if (itemInHands.GetInventory().GetCurrentInventoryLocation(src))
15 {
17 if (edr)
18 {
19 if (LogManager.IsInventoryHFSMLogEnable()) hndDebugPrint("[hndfsm] HandStartReplacingItemInHands about to execute lambda");
20
21 HumanInventoryWithFSM inv = HumanInventoryWithFSM.Cast(player.GetInventory());
22 edr.m_Lambda.Execute(inv);
23 //player.GetItemAccessor().OnItemInHandsChanged();
24 return;
25 }
26 else
27 Error("[hndfsm] HandStartReplacingItemInHands - not a HandEventDestroyAndReplaceWithNew event");
28 }
29 else
30 Error("[hndfsm] HandStartReplacingItemInHands - itemInHands has no InventoryLocation");
31 }
32
33 override void OnAbort (HandEventBase e)
34 {
35 super.OnAbort(e);
36 }
37
38 override void OnExit (HandEventBase e)
39 {
40 super.OnExit(e);
41 }
42
43 override bool IsWaitingForActionFinish () { return true; }
44};
45
46
47class HandReplacingItemInHands extends HandStateBase
48{
50
51 void HandReplacingItemInHands (Man player = NULL, HandStateBase parent = NULL)
52 {
53 // setup nested state machine
55
56 // events:
57 HandEventBase _fin_ = new HandEventHumanCommandActionFinished;
58
59 m_FSM = new HandFSM(this); // @NOTE: set owner of the submachine fsm
60
61 m_FSM.AddTransition(new HandTransition( m_Replacing, _fin_, NULL ));
62
63 m_FSM.SetInitialState(m_Replacing);
64 }
65
66 override void OnEntry (HandEventBase e)
67 {
68 super.OnEntry(e);
69 }
70
71 override void OnAbort (HandEventBase e)
72 {
73 super.OnAbort(e);
74 }
75
76 override void OnExit (HandEventBase e)
77 {
78 super.OnExit(e);
79 }
80};
81
82
void hndDebugPrint(string s)
Определения HandFSM.c:1
FSMTransition< HandStateBase, HandEventBase, HandActionBase, HandGuardBase > HandTransition
Определения HandFSM.c:28
proto native HumanInventory GetHumanInventory()
Определения Building.c:6
Abstracted event, not to be used, only inherited.
Определения Hand_Events.c:209
Hand finite state machine.
void HandReplacingItemInHands(Man player=NULL, HandStateBase parent=NULL)
Определения HandReplacingItemInHands.c:51
override void OnExit(HandEventBase e)
Определения HandReplacingItemInHands.c:38
void HandStateBase(Man player=NULL, HandStateBase parent=NULL)
nested state machine (or null)
Определения HandStateBase.c:11
override void OnEntry(HandEventBase e)
Определения HandReplacingItemInHands.c:6
ref HandStartReplacingItemElsewhereWithNewInHands m_Replacing
ref HandFSM m_FSM
hierarchical parent state of this state (or null)
Определения HandStateBase.c:10
override void OnAbort(HandEventBase e)
Определения HandReplacingItemInHands.c:33
override bool IsWaitingForActionFinish()
Определения HandReplacingItemInHands.c:43
void HandStartReplacingItemInHands(Man player=NULL, HandStateBase parent=NULL)
Определения HandReplacingItemInHands.c:3
represent hand state base
Определения HandAnimatedForceSwapping.c:4
proto native EntityAI GetEntityInHands()
HumanInventory... with FSM (synchronous, no anims)
Определения HumanInventoryWithFSM.c:6
InventoryLocation.
Определения InventoryLocation.c:29
static bool IsInventoryHFSMLogEnable()
Определения Debug.c:668
Определения Debug.c:594
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90