コード例 #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
 private void InitEnemyTableData()
 {
     string[][] arrAll = GetData(TableDataName.EnemyTableData.ToString());
     for (int i = 0; i < arrAll.Length; i++)
     {
         string[]       arr       = arrAll[i];
         int            id        = int.Parse(arr[0]);
         EnemyTableData tableData = new EnemyTableData
         {
             id           = id,
             name         = arr[1],
             des          = arr[2],
             icon         = arr[3],
             enemyPrefab  = arr[4],
             hp           = int.Parse(arr[5]),
             attack       = int.Parse(arr[6]),
             defene       = int.Parse(arr[7]),
             magic        = int.Parse(arr[8]),
             isCanMove    = int.Parse(arr[9]),
             equipType    = int.Parse(arr[10]),
             searchRadius = float.Parse(arr[11]),
             attackSpeed  = float.Parse(arr[12]),
             moveSpeed    = float.Parse(arr[13]),
             skillid      = int.Parse(arr[14]),
             isUnarmed    = int.Parse(arr[15]),
             leftWeapon   = int.Parse(arr[16]),
             rightWeapon  = int.Parse(arr[17]),
             backWeapon   = int.Parse(arr[18]),
             isBoss       = int.Parse(arr[19]),
             bossEffect   = arr[20]
         };
         EnemyTableDataDic[id] = tableData;
     }
 }
コード例 #3
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);
        }
    }