public WeaponStateMachine(WeaponStateContext context)
        {
            _context = context;

            _states = new Dictionary <WeaponState, BaseWeaponState>
            {
                { WeaponState.Inactive, new InactiveWeaponState(context) },
                { WeaponState.InactivePendingReload, new InactivePendingReloadWeaponState(context) },
                { WeaponState.PreAttack, new PreAttackWeaponState(context) },
                { WeaponState.Firing, new FiringWeaponState(context) },
                { WeaponState.IdleAfterFiring, new IdleAfterFiringWeaponState(context) },
                { WeaponState.BetweenShots, new BetweenShotsWeaponState(context) },
                { WeaponState.Reloading, new ReloadingWeaponState(context) }
            };

            TransitionToState(WeaponState.Inactive, TimeSpan.Zero);
        }
Exemple #2
0
 public PreAttackWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
Exemple #3
0
 public FiringWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
 public InactiveWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
 public IdleAfterFiringWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
Exemple #6
0
 public InactivePendingReloadWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
Exemple #7
0
 protected BaseWeaponState(WeaponStateContext context)
 {
     Context             = context;
     ModelConditionFlags = GetModelConditionFlags(context.Weapon.WeaponIndex);
 }
Exemple #8
0
 public ReloadingWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
Exemple #9
0
 public BetweenShotsWeaponState(WeaponStateContext context)
     : base(context)
 {
 }
Exemple #10
0
 protected FixedDurationWeaponState(WeaponStateContext context)
     : base(context)
 {
 }