DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ WeaponUnjamming()

void WeaponStateBase::WeaponUnjamming ( Weapon_Base w = NULL,
WeaponStateBase parent = NULL,
WeaponActions action = WeaponActions.NONE,
int actionType = -1 )
inlineprivate

См. определение в файле WeaponUnjamming.c строка 180

181 {
182 m_action = action;
183 m_actionType = actionType;
184
185 // setup nested state machine
186 m_start = new WeaponUnjamming_Start(m_weapon, this, m_action, m_actionType);
187 m_eject = new WeaponUnjamming_Cartridge_W4T(m_weapon, this);
188 m_chamber = new WeaponChamberFromAttMag_W4T(m_weapon, this);
189 m_w4t = new WeaponUnjamming_W4T(m_weapon, this);
190
191 // events
192 WeaponEventBase _uto_ = new WeaponEventUnjammingTimeout;
193 WeaponEventBase _fto_ = new WeaponEventUnjammingFailedTimeout;
194 WeaponEventBase _fin_ = new WeaponEventHumanCommandActionFinished;
195 WeaponEventBase __uj_ = new WeaponEventAnimUnjammed;
196
197 m_fsm = new WeaponFSM(this); // @NOTE: set owner of the submachine fsm
198 // transitions
199 m_fsm.AddTransition(new WeaponTransition( m_start, _uto_, m_eject));
200 m_fsm.AddTransition(new WeaponTransition( m_start, _fto_, m_w4t));
201 m_fsm.AddTransition(new WeaponTransition( m_eject, __uj_, m_chamber, NULL, new WeaponGuardHasAmmo(m_weapon)));
202 m_fsm.AddTransition(new WeaponTransition( m_eject, _fin_, NULL));
203 m_fsm.AddTransition(new WeaponTransition( m_w4t, _fin_, NULL));
204 m_fsm.AddTransition(new WeaponTransition(m_chamber, _fin_, NULL));
205
206 // Safety exits
207 m_fsm.AddTransition(new WeaponTransition(m_start, _fin_, null));
208
209 m_fsm.SetInitialState(m_start);
210 }
void WeaponGuardHasAmmo(Weapon_Base w=NULL)
Определения Guards.c:99
enum FSMTransition WeaponTransition
enum FSMTransition WeaponEventBase
int m_actionType
action to be played
Определения RifleChambering.c:4
ref WeaponChambering_W4T m_w4t
Определения RifleChambering.c:10
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
Определения WeaponStateBase.c:14
WeaponActions m_action
Определения RifleChambering.c:3
Weapon_Base m_weapon
Определения WeaponStateBase.c:12
ref WeaponChambering_Cartridge m_chamber
Определения RifleChambering.c:9
ref WeaponStateBase m_start
source of the cartridge
Определения RifleChambering.c:7
ref WeaponEjectCasing m_eject
Определения RifleChambering.c:8

Перекрестные ссылки m_action, m_actionType, m_chamber, m_eject, m_fsm, m_start, m_w4t, m_weapon, WeaponGuardHasAmmo() и WeaponStateBase().