Пример #1
0
        public GameState(Game game, GameStateManager manager)
            : base(game)
        {
            _stateManager = manager;

            _childComponents = new List<GameComponent>();
            _tag = this;
        }
Пример #2
0
        public void ChangeState(GameState newState)
        {
            while (_gameStates.Count > 0)
                RemoveState();

            newState.DrawOrder = _startDrawOrder;
            _drawOrder = _startDrawOrder;

            AddState(newState);

            if (OnStateChange != null)
                OnStateChange(this, null);
        }
Пример #3
0
        public void PushState(GameState newState)
        {
            _drawOrder += _drawOrderInc;
            newState.DrawOrder = _drawOrder;

            AddState(newState);

            if (OnStateChange != null)
                OnStateChange(this, null);
        }
Пример #4
0
        private void AddState(GameState newState)
        {
            _gameStates.Push(newState);

            Game.Components.Add(newState);

            OnStateChange += newState.StateChange;
        }