public GameState(Microsoft.Xna.Framework.Game game, GameStateManager manager) : base(game) { StateManager = manager; _childComponents = new List<GameComponent>(); _tag = this; }
public void ChangeState(GameState state) { while (_gameStates.Count > 0) RemoveState(); state.DrawOrder = StartDrawOrder; _drawOrder = StartDrawOrder; AddState(state); OnStateChange(); }
public void PushState(GameState state) { _drawOrder += DrawOrderInc; state.DrawOrder = _drawOrder; AddState(state); OnStateChange(); }
private void AddState(GameState state) { _gameStates.Push(state); Game.Components.Add(state); StateChange += state.StateChange; }