コード例 #1
0
    void Start()
    {
        loadingScreen = GameObject.Find("LoadingScreenCanvas").GetComponent <LoadingScreen>();
        state         = GameStatePersistence.LoadState();
        Button button = transform.Find("Panel").Find("ContinueButton").GetComponent <Button>();

        button.interactable = state != null;
    }
コード例 #2
0
    public void NextLevel()
    {
        StatsUpgrades.Instance.AddPoints(newPoints);
        GameState state = new GameState
        {
            currentSceneName = nextLevelScene,
            stats            = StatsUpgrades.Instance.stats
        };

        GameStatePersistence.SaveState(state);

        loadingScreen.GetComponent <LoadingScreen>().LoadScene(nextLevelScene);
        // SceneManager.LoadScene(nextLevelScene);
    }
コード例 #3
0
    private StatsUpgrades(bool newGame = false)
    {
        GameState state = GameStatePersistence.LoadState();

        if (state != null && !newGame)
        {
            stats = state.stats;
        }
        else
        {
            stats.Add("health", 0);
            stats.Add("sword", 0);
            stats.Add("bow", 0);
            stats.Add("points", 5);
        }

        observers = new List <StatsObserver>();
    }
コード例 #4
0
ファイル: Utils.cs プロジェクト: yimejky/fiit-gdd-project
    public static void ResetLevel()
    {
        string sceneName = SceneManager.GetActiveScene().name;

        if (sceneName == Constants.FIRST_LEVEL_SCENE)
        {
            StatsUpgrades.NewInstance();
        }
        else
        {
            try
            {
                StatsUpgrades.Instance.stats = GameStatePersistence.LoadState().stats;
            }
            catch {
                StatsUpgrades.NewInstance();
            }
        }

        SceneManager.LoadScene(sceneName);
        Time.timeScale = 1;
    }