/// <summary> /// /// </summary> /// <param name="game"></param> public GameState(Game game) : base(game) { tag = this; childComponents = new List<GameComponent>(); content = Game.Content; manager = (IStateManager)Game.Services.GetService(typeof(IStateManager)); }
public void ChangeState(GameState state, PlayerIndex? index) { while (gameStates.Count > 0) { RemoveState(); } drawOrder = StartDrawOrder; state.DrawOrder = drawOrder; drawOrder += DrawOrderInc; AddState(state, index); OnStateChanged(); }
private void AddState(GameState state, PlayerIndex? index) { gameStates.Push(state); state.PlayerIndexInControl = index; Game.Components.Add(state); StateChanged += state.StateChanged; }
public void PushState(GameState state, PlayerIndex? index) { drawOrder += DrawOrderInc; AddState(state, index); OnStateChanged(); }
public bool ContainsState(GameState state) { return gameStates.Contains(state); }