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); }
public EnemyData(EnemyAssetData assetData, int health, float speed, int damage, int award) { AssetData = assetData; Health = health; Speed = speed; Damage = damage; Award = award; }
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); } }
//deprecated public EnemyData GetEnemy(EnemyID enemyId) { EnemyAssetData result = enemies.TryGetValue(enemyId.Name); return(result != null?result.GenerateBasic() : null); }
public BossData(EnemyAssetData assetData, int health, float speed, int damage, int award, int golemHealth, float golemSpeed) : base(assetData, health, speed, damage, award) { GolemHealth = golemHealth; GolemSpeed = golemSpeed; }
public RogueData(EnemyAssetData assetData, int health, float speed, float runSpeed, int damage, int award) : base(assetData, health, speed, damage, award) { RunSpeed = runSpeed; }