Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using System.IO;
- using UnityEngine.SceneManagement;
- using System.Runtime.CompilerServices;
- [System.Serializable]
- public class HighScoreData
- {
- public int highscore1P;
- public int highscore2P;
- }
- [System.Serializable]
- public class CurrencyData
- {
- public int LifeEssence;
- }
- [System.Serializable]
- public class ShopData
- {
- public int HealthCost;
- }
- [System.Serializable]
- public class PlayerData
- {
- public int HealthAmount;
- }
- public class GameData : MonoBehaviour
- {
- public static GameData instance;
- public HighScoreData highScoreData;
- public CurrencyData currencyData;
- public ShopData shopData;
- public PlayerData playerData;
- void Awake()
- {
- if (instance == null)
- {
- instance = this;
- DontDestroyOnLoad(gameObject);
- if (!PlayerPrefs.HasKey("FirstEverStartedGame"))
- {
- PlayerPrefs.SetInt("FirstEverStartedGame", 1);
- currencyData.LifeEssence = 0;
- shopData.HealthCost = 1;
- playerData.HealthAmount = 4;
- SaveCurrency(currencyData.LifeEssence);
- SaveShopData(shopData.HealthCost);
- SavePlayerData(playerData.HealthAmount);
- }
- LoadHighScore();
- LoadCurrency();
- LoadShopData();
- LoadPlayerData();
- }
- else
- {
- Destroy(gameObject);
- }
- }
- public void SaveHighScore(int newHighScore)
- {
- Scene currentScene = SceneManager.GetActiveScene();
- string sceneName = currentScene.name;
- if (sceneName == "MainGame1P")
- {
- highScoreData.highscore1P = newHighScore;
- string jsonData = JsonUtility.ToJson(highScoreData);
- File.WriteAllText("HighscoreData.json", jsonData);
- }
- else if (sceneName == "MainGame2P")
- {
- highScoreData.highscore2P = newHighScore;
- string jsonData = JsonUtility.ToJson(highScoreData);
- File.WriteAllText("HighscoreData.json", jsonData);
- }
- }
- void LoadHighScore()
- {
- if (File.Exists("HighscoreData.json"))
- {
- string jsonData = File.ReadAllText("HighscoreData.json");
- highScoreData = JsonUtility.FromJson<HighScoreData>(jsonData);
- }
- }
- public void SaveCurrency(int newLifeEssence)
- {
- currencyData.LifeEssence = newLifeEssence;
- string jsonData = JsonUtility.ToJson(currencyData);
- File.WriteAllText("CurrencyData.json", jsonData);
- }
- void LoadCurrency()
- {
- if (File.Exists("CurrencyData.json"))
- {
- string jsonData = File.ReadAllText("CurrencyData.json");
- currencyData = JsonUtility.FromJson<CurrencyData>(jsonData);
- }
- }
- public void SaveShopData(int newHealthCost)
- {
- shopData.HealthCost = newHealthCost;
- string jsonData = JsonUtility.ToJson(shopData);
- File.WriteAllText("ShopData.json", jsonData);
- }
- void LoadShopData()
- {
- if (File.Exists("ShopData.json"))
- {
- string jsonData = File.ReadAllText("ShopData.json");
- shopData = JsonUtility.FromJson<ShopData>(jsonData);
- }
- }
- public void SavePlayerData(int newHealthAmount)
- {
- playerData.HealthAmount = newHealthAmount;
- string jsonData = JsonUtility.ToJson(playerData);
- File.WriteAllText("PlayerData.json", jsonData);
- }
- void LoadPlayerData()
- {
- if (File.Exists("PlayerData.json"))
- {
- string jsonData = File.ReadAllText("PlayerData.json");
- playerData = JsonUtility.FromJson<PlayerData>(jsonData);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment