198 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
F_F, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
199 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
F_E, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberEmpty(
this, MuzzleIndex.Second))));
200 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
E_F, NULL,
new GuardAnd(
new WeaponGuardChamberEmpty(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
201 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
F_L, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
202 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
L_L, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
203 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
L_E, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberEmpty(
this, MuzzleIndex.Second))));
204 m_fsm.AddTransition(
new WeaponTransition( Mech, _abt_,
E_L, NULL,
new GuardAnd(
new WeaponGuardChamberEmpty(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
211 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _fin_,
L_E, NULL,
new WeaponGuardChamberEmpty(
this, MuzzleIndex.Second)));
214 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _abt_,
F_F, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
215 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _abt_,
F_E, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberEmpty(
this, MuzzleIndex.Second))));
216 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _abt_,
E_F, NULL,
new GuardAnd(
new WeaponGuardChamberEmpty(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
217 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _abt_,
L_L, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
218 m_fsm.AddTransition(
new WeaponTransition( Chamber_E, _abt_,
L_E, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberEmpty(
this, MuzzleIndex.Second))));
223 m_fsm.AddTransition(
new WeaponTransition( Chamber_L_E, _abt_,
L_L, NULL,
new WeaponGuardChamberFull(
this, MuzzleIndex.Second)));
225 m_fsm.AddTransition(
new WeaponTransition( Chamber_L_E, _fin_,
L_L, NULL,
new WeaponGuardChamberFull(
this, MuzzleIndex.Second)));
229 m_fsm.AddTransition(
new WeaponTransition( Chamber_E_L, _abt_,
L_L, NULL,
new WeaponGuardChamberFull(
this, MuzzleIndex.First)));
231 m_fsm.AddTransition(
new WeaponTransition( Chamber_E_L, _fin_,
L_L, NULL,
new WeaponGuardChamberFull(
this, MuzzleIndex.First)));
235 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _abt_,
F_L, NULL,
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First)));
236 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _abt_,
L_L, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
237 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _abt_,
E_L, NULL,
new GuardAnd(
new WeaponGuardChamberEmpty(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
239 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _fin_,
F_L, NULL,
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First)));
240 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _fin_,
L_L, NULL,
new GuardAnd(
new WeaponGuardChamberFull(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
241 m_fsm.AddTransition(
new WeaponTransition( Chamber_F_L, _fin_,
E_L, NULL,
new GuardAnd(
new WeaponGuardChamberEmpty(
this, MuzzleIndex.First),
new WeaponGuardChamberFull(
this, MuzzleIndex.Second))));
260 m_fsm.AddTransition(
new WeaponTransition( Trigger_L_L, _fin_,
F_F, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
261 m_fsm.AddTransition(
new WeaponTransition( Trigger_L_L, _rto_,
F_F, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
262 m_fsm.AddTransition(
new WeaponTransition( Trigger_L_L, _abt_,
F_F, NULL,
new GuardAnd(
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.First),
new WeaponGuardChamberFiredOut(
this, MuzzleIndex.Second))));
289 SetInitialState(
E_E);
291 for(
int i = 0; i < GetMuzzleCount(); i++)