コード例 #1
0
    public void ResetState()
    {
        if (currentState != null)
        {
            if (currentState is EvaluatingState)
            {
                var state = currentState as EvaluatingState;
                if (state.PlayerPassed)
                {
                    var playerData = LevelManager.Instance.PlayerData;
                    playerData.levelIndex -= 1;
                    playerData.Save();
                }

                SetState(null);
                CreateOrChangeToNextState();
            }
            else
            {
                currentState.Reset();
            }
        }
    }