private void Start() { _states = new Dictionary <E_Turret, ITurrets>(); _currentState = _startingState; _slowDownSpeed = 0; _accelSpeed = 0; Init(); _states.Add(E_Turret.SEARCHING, new TurretSearchingState()); _states.Add(E_Turret.SHOOTING, new TurretShootingState()); _states.Add(E_Turret.RELOADING, new TurretReloadingState()); _states.Add(E_Turret.DEAD, new TurretDeadState()); _states[E_Turret.SEARCHING].Init(this); _states[E_Turret.SHOOTING].Init(this, Projectile); _states[E_Turret.RELOADING].Init(this); _states[E_Turret.DEAD].Init(this); ChangeState(_currentState); GameLoopManager.Instance.Ennemies += OnUpdate; }
public void ChangeState(E_Turret nextState) { _states[_currentState].Exit(); _currentState = nextState; _states[nextState].Enter(); }