private static bool ReadBaseEnemyData(XElement enemyData, EnemyAssetData assetData, out Declarations.EnemyData enemy) { bool failed = false; int health = ReadInt(enemyData, Constants.cst_Health, ref failed); float speed = ReadFloat(enemyData, Constants.cst_Speed, ref failed); int damage = ReadInt(enemyData, Constants.cst_Damage, ref failed); int award = ReadInt(enemyData, Constants.cst_Award, ref failed); if (failed) { enemy = null; return(false); } else { enemy = new Declarations.EnemyData(assetData, health, speed, damage, award); return(true); } }
internal static bool ReadEnemyData(XElement enemyData, EnemyAssetData assetData, Declarations.EnemyType enemyType, out Declarations.EnemyData enemy) { switch (enemyType) { case Declarations.EnemyType.Swordsman: return(ReadBaseEnemyData(enemyData, assetData, out enemy)); case Declarations.EnemyType.Golem: return(ReadBaseEnemyData(enemyData, assetData, out enemy)); case Declarations.EnemyType.Dragon: return(ReadBaseEnemyData(enemyData, assetData, out enemy)); case Declarations.EnemyType.Rogue: return(ReadRogueData(enemyData, assetData, out enemy)); case Declarations.EnemyType.Boss: return(ReadBossData(enemyData, assetData, out enemy)); default: Debug.Log("Unknown enemy type"); break; } enemy = null; return(false); }