コード例 #1
0
 private void CallbackLevelStateChange(object _, LevelStateChangeEventArgs e)
 {
     if (e.NewState == LEVEL_STATE.GAME_WON)
     {
         SaveScore();
     }
 }
コード例 #2
0
 private void CallbackLevelStateChange(object _, LevelStateChangeEventArgs args)
 {
     if (args.NewState == enableEvent)
     {
         this.toDisable.SetActive(true);
     }
     else if (args.NewState == disableEvent)
     {
         this.toDisable.SetActive(false);
     }
 }
コード例 #3
0
        private void ChangeLevelState(EnumLevelState targetLevelState)
        {
            if (LevelState == targetLevelState)
            {
                return;
            }

            LevelData levelData = GetLevelData(CurrentLevelIndex);

            if (levelData == null)
            {
                Log.Error("Can not found level '{0}.'", CurrentLevelIndex);
                return;
            }

            EnumLevelState lastLevelState = LevelState;

            LevelState = targetLevelState;
            GameEntry.Event.Fire(this, LevelStateChangeEventArgs.Create(levelData, lastLevelState, LevelState));
            Log.Debug("Current level is '{0}',level state is '{1}.'", levelData.Name, LevelState.ToString());
        }
コード例 #4
0
    /// <summary>
    /// Changes the level state
    /// </summary>
    /// <param name="NewState">The new level state</param>
    private void LevelStateChange(LEVEL_STATE NewState)
    {
        this.currentState = NewState;
        LevelStateChangeEventArgs args = new LevelStateChangeEventArgs();

        args.NewState = NewState;
        switch (NewState)
        {
        // The game is over show game over screen
        case LEVEL_STATE.GAME_OVER:
        case LEVEL_STATE.GAME_WON:
            break;

        case LEVEL_STATE.PLAY:
            InitLevel();
            break;

        default:
            Debug.Log("🌮🌮🌮🌮  UNKNOWN LEVEL STATE  🌮🌮🌮🌮");
            break;
        }

        OnLevelStateChangeEvent?.Invoke(this, args);
    }