コード例 #1
0
    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);
    }
コード例 #2
0
 public EnemyData(EnemyAssetData assetData, int health, float speed, int damage, int award)
 {
     AssetData = assetData;
     Health    = health;
     Speed     = speed;
     Damage    = damage;
     Award     = award;
 }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    //deprecated
    public EnemyData GetEnemy(EnemyID enemyId)
    {
        EnemyAssetData result = enemies.TryGetValue(enemyId.Name);

        return(result != null?result.GenerateBasic() : null);
    }
コード例 #5
0
 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;
 }
コード例 #6
0
 public RogueData(EnemyAssetData assetData, int health, float speed, float runSpeed, int damage, int award) : base(assetData, health, speed, damage, award)
 {
     RunSpeed = runSpeed;
 }