예제 #1
0
        public void SaveGame()
        {
            gameSaverData              = new GameSaverData();
            gameSaverData.money        = ScoreManager.Instance.Money;
            gameSaverData.wood         = ScoreManager.Instance.wood;
            gameSaverData.stones       = ScoreManager.Instance.stones;
            gameSaverData.storyData    = StoryProgress.Instance.GetStoryData();
            gameSaverData.itemDatas    = Player.Instance.playerController.bag.GetItemDatas();
            gameSaverData.plowedTiles  = TilemapManager.Instance.GetPlowedTiles();
            gameSaverData.cropBlockers = CropManager.Instance.GetBlockerDatas();
            gameSaverData.plantedCrops = CropManager.Instance.GetCropDatas();
            string json = JsonUtility.ToJson(gameSaverData, false);

            PlayerPrefs.SetString(SaveKey, json);
            PlayerPrefs.Save();
        }
예제 #2
0
        public IEnumerator LoadGame()
        {
            string json = PlayerPrefs.GetString(SaveKey, "");

            if (json == "")
            {
                Debug.Log("No saved game.");
                yield break;
            }
            gameSaverData = JsonUtility.FromJson <GameSaverData>(json);
            ScoreManager.Instance.Money  = gameSaverData.money;
            ScoreManager.Instance.wood   = gameSaverData.wood;
            ScoreManager.Instance.stones = gameSaverData.stones;
            StoryProgress.Instance.LoadStoryData(gameSaverData.storyData);
            Player.Instance.playerController.bag.SetItemsDatas(gameSaverData.itemDatas);
            CropManager.Instance.ClearEverything();
            TilemapManager.Instance.ClearPlowedTiles();
            TilemapManager.Instance.LoadPlowedTiles(gameSaverData.plowedTiles);
            yield return(null);

            CropManager.Instance.LoadCropBlockers(gameSaverData.cropBlockers);
            CropManager.Instance.LoadPlantedCrops(gameSaverData.plantedCrops);
            Debug.Log("Game loaded.");
        }