public void LoadEnemyAndAreaTableFromFile(string fileName) { string filePath = Path.Combine(Application.persistentDataPath, fileName); if (File.Exists(filePath)) { string jsonData = File.ReadAllText(filePath); EnemyTableData enemyTableData = JsonUtility.FromJson <EnemyTableData>(jsonData); // Debug.LogFormat("EnemyTableData: {0}",enemyTableData); // For each table entry, add the enemy to their designated area(s). for (int i = 0; i < enemyTableData.enemyTableEntries.Length; i++) { EnemyTableEntry entry = enemyTableData.enemyTableEntries[i]; enemyTable.Add(entry.enemyPrefab, entry); // For each area the enemy is a part of, add the gameobject to that areas list for (int j = 0; j < entry.areas.Count; j++) { Debug.LogFormat("{0} is part of area {1}", entry.enemyPrefab, entry.areas[j]); AddEnemyToAreaTable(entry.areas[j], entry.tier, entry.enemyPrefab); } } Debug.LogFormat("loaded enemy table: {0}", EnemyDictionaryToJson(enemyTable)); } else { Debug.LogFormat("File {0} was not found.", fileName); } }
public void LoadEnemyTableFromFile(string fileName) { string filePath = Path.Combine(Application.persistentDataPath, fileName); if (File.Exists(filePath)) { using (StreamReader streamReader = File.OpenText(filePath)) { string jsonData = streamReader.ReadToEnd(); EnemyTableData enemyTableData = JsonUtility.FromJson <EnemyTableData>(jsonData); // Debug.LogFormat("EnemyTableData: {0}",enemyTableData); // For each table entry, add the enemy to their designated area(s). for (int i = 0; i < enemyTableData.enemyTableEntries.Length; i++) { EnemyTableEntry entry = enemyTableData.enemyTableEntries[i]; if (entry == null) { continue; // Area doesnt contain any data. } enemyTable.Add(entry.enemyPrefab, entry); } Debug.LogFormat("loaded enemy table: {0}", EnemyDictionaryToJson(enemyTable)); } // // string jsonData = File.ReadAllText (filePath); // EnemyTableData enemyTableData = JsonUtility.FromJson<EnemyTableData>(jsonData); //// Debug.LogFormat("EnemyTableData: {0}",enemyTableData); // // For each table entry, add the enemy to their designated area(s). // for (int i = 0; i < enemyTableData.enemyTableEntries.Length; i++) { // EnemyTableEntry entry = enemyTableData.enemyTableEntries[i]; // enemyTable.Add(entry.enemyPrefab, entry); // } // Debug.LogFormat("loaded enemy table: {0}", EnemyDictionaryToJson(enemyTable)); } else { Debug.LogFormat("File {0} was not found.", fileName); } }