Exemple #1
0
        private void OnStateChanged(GameState oldState, GameState newState)
        {
            if (newState is WinState || newState is GameOverState)
            {
                WinScreen.Init(Instance.ProgressionManager.Mana);
                WinScreen.Show(true);
            }
            else
            {
                WinScreen.Show(false);
            }

            if (oldState == null)
            {
                MissionProgressUI.Init(Gamefield.GameMode);
            }
        }
Exemple #2
0
        public void Init()
        {
            //Debug.Log("Init");
            _currentState = null;
            ChuzzleMover.Instance = new ChuzzleMover();

            PowerUpAnalyzeState = new PowerUpAnalyzeState(this);
            CreateState = new CreateState(this);
            RemoveState = new DeleteState(this);
            GameOverState = new GameOverState(this);
            WinState = new WinState(this);
            FieldState = new FieldState(this);
            GameMode = GameModeFactory.CreateGameMode(LevelDescription.Condition.GameMode);
            if (!ManaManagerSystem)
            {
                ManaManagerSystem = FindObjectOfType<ManaManager>();
            }
            ManaManagerSystem.Reset();
            ManaManagerSystem.TargetPoints = GameMode.TargetPoints;
            GameMode.Init(this);

            Level.Gamefield = this;
            Level.InitFromFile(LevelDescription.Field);
            //Level.Gamefield.transform.localScale = Vector3.zero;
            //iTween.ScaleTo(Level.Gamefield.gameObject, Vector3.one, 0.5f);

            AddEventHandlers();
            InvokeGameStarted();

            if (CenterCameraOnField.Instance)
            {
                CenterCameraOnField.Instance.CenterCameraOnChuzzles(Level.Chuzzles,true);
            }

            SwitchStateTo(PowerUpAnalyzeState);
        }
Exemple #3
0
 protected virtual void FireStateChanged(GameState oldState, GameState newState)
 {
     var handler = StateChanged;
     if (handler != null)
     {
         handler(oldState, newState);
     }
 }
Exemple #4
0
        public void SwitchStateTo(GameState newState)
        {
            var prevState = _currentState;
            //Debug.Log("Old state: "+_currentState);
            if (_currentState != null)
            {
                _currentState.OnExit();
            }
            _currentState = newState;
            _currentStateName = newState.ToString();
            //Debug.Log("Switch to: " + _currentState);
            _currentState.OnEnter();

            FireStateChanged(prevState, newState);
        }