void LoadUpgradesFromPrefsAndJson() { playerUpgradeMoney = PlayerUpgradeMoney.instance; List<Upgrade> upgradesLoaded = null; if (PlayerPrefs.HasKey(PLAYER_PREFS_KEY)) { upgradesLoaded = SaveTools.LoadFromPlayerPrefs(PLAYER_PREFS_KEY) as List<Upgrade>; } else { Debug.Log("First load, no upgrades found in player prefs"); } _Upgrades = new List<Upgrade>(); TextAsset upgradesTextAsset = (TextAsset)Resources.Load("upgrades", typeof(TextAsset)); JSONObject upgradesJsonRoot = new JSONObject(upgradesTextAsset.text); JSONObject upgradesJson = upgradesJsonRoot.list[upgradesJsonRoot.keys.IndexOf("upgrades")]; upgradesJson.list.ForEach(u => _Upgrades.Add(new Upgrade(u))); if (upgradesLoaded != null) { _Upgrades.ForEach(u => { Upgrade upgradeFromPlayerPrefs = upgradesLoaded.Find(e => e.name == u.name); if (upgradeFromPlayerPrefs != null) { u.bought = upgradeFromPlayerPrefs.bought; } }); } }
void Awake() { instance = this; }