/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { _state = States.GameStates.Menu; SwitchStates(_state); base.Initialize(); }
private void SwitchStates(States.GameStates newState) { States.StateBase cur = _gameState; if (cur != null) cur.Uninit(); switch (newState) { default: case States.GameStates.Quit: this.Exit(); break; case States.GameStates.Menu: _gameState = new States.MenuState(); break; case States.GameStates.Instruct: _gameState = new States.InstructState(); break; case States.GameStates.InGame: _gameState = new States.InGame(); break; case States.GameStates.About: _gameState = new States.AboutState(); break; case States.GameStates.Win: _gameState = new States.WinState(); break; }; _state = newState; if (_gameState != null) _gameState.Init(this); }