コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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);
        }
    }