IEnumerator LoadNow() { s_Data = PlayerPrefs.GetString("SaveSlot", "null"); Debug.Log("check if null = " + s_Data); if (s_Data != "null") { GameObject[] listTower = GameObject.FindGameObjectsWithTag("Tower"); foreach (GameObject obj in listTower) { Destroy(obj); } listTower = GameObject.FindGameObjectsWithTag("Energy"); foreach (GameObject obj in listTower) { Destroy(obj); } listTower = GameObject.FindGameObjectsWithTag("Resource"); foreach (GameObject obj in listTower) { Destroy(obj); } listTower = GameObject.FindGameObjectsWithTag("Wall"); foreach (GameObject obj in listTower) { Destroy(obj); } data = JsonUtility.FromJson <SaveData>(s_Data); waveManager.SetWave(data.Wave); foreach (Towers tower in data.AttackTowers.ListsOfTowers) { GameObject temp = Instantiate(TowerPrefab, tower.postion, Quaternion.identity); temp.GetComponent <Tower>().currentHP = tower.health; } foreach (Towers tower in data.EnergyTowers.ListsOfTowers) { GameObject temp = Instantiate(AtomicPrefab, tower.postion, Quaternion.identity); temp.GetComponent <Tower>().currentHP = tower.health; } foreach (Towers tower in data.MiningTowers.ListsOfTowers) { GameObject temp = Instantiate(MiningPrefab, tower.postion, Quaternion.identity); temp.GetComponent <Tower>().currentHP = tower.health; } foreach (Towers tower in data.WallTower.ListsOfTowers) { GameObject temp = Instantiate(WallPrefab, tower.postion, Quaternion.identity); temp.GetComponent <Tower>().currentHP = tower.health; } yield return(new WaitForSeconds(0.25f)); resourceSystem.SetPlutonium(data.plutonium); resourceSystem.SetOre(data.ore); waveManager.Enabled = true; } }