示例#1
0
    public void DamageEnemyInTile(int x, int y, float damage, Enemy_BT.ENEMY_GET_DAMAGE_TYPE damage_type)
    {
        int size   = sword_enemies.Count;
        int tile_x = 0;
        int tile_y = 0;

        for (int k = 0; k < size; k++)
        {
            tile_x = sword_enemies[k].GetComponent <Movement_Action>().GetCurrentTileX();
            tile_y = sword_enemies[k].GetComponent <Movement_Action>().GetCurrentTileY();
            if (x == tile_x && y == tile_y)
            {
                sword_enemies[k].GetComponent <EnemySword_BT>().ApplyDamage(damage, damage_type);
                return;
            }
        }

        size = lance_enemies.Count;

        for (int k = 0; k < size; k++)
        {
            tile_x = lance_enemies[k].GetComponent <Movement_Action>().GetCurrentTileX();
            tile_y = lance_enemies[k].GetComponent <Movement_Action>().GetCurrentTileY();
            if (x == tile_x && y == tile_y)
            {
                lance_enemies[k].GetComponent <EnemySpear_BT>().ApplyDamage(damage, damage_type);
                return;
            }
        }

        size = shield_enemies.Count;

        for (int k = 0; k < size; k++)
        {
            tile_x = shield_enemies[k].GetComponent <Movement_Action>().GetCurrentTileX();
            tile_y = shield_enemies[k].GetComponent <Movement_Action>().GetCurrentTileY();
            if (x == tile_x && y == tile_y)
            {
                shield_enemies[k].GetComponent <EnemyShield_BT>().ApplyDamage(damage, damage_type);
                return;
            }
        }

        if (x == boss.GetComponent <Movement_Action>().GetCurrentTileX() && y == boss.GetComponent <Movement_Action>().GetCurrentTileY())
        {
            boss.GetComponent <Boss_BT>().ApplyDamage(damage);
            return;
        }
    }
示例#2
0
 public bool ApplyDamage(GameObject target, float damage, Enemy_BT.ENEMY_GET_DAMAGE_TYPE damage_type)
 {
     if (target.GetComponent <EnemySword_BT>() != null)
     {
         return(target.GetComponent <EnemySword_BT>().ApplyDamage(damage, damage_type));
     }
     else if (target.GetComponent <EnemySpear_BT>() != null)
     {
         return(target.GetComponent <EnemySpear_BT>().ApplyDamage(damage, damage_type));
     }
     else if (target.GetComponent <EnemyShield_BT>() != null)
     {
         return(target.GetComponent <EnemyShield_BT>().ApplyDamage(damage, damage_type));
     }
     else if (target.GetComponent <Boss_BT>() != null)
     {
         return(target.GetComponent <Boss_BT>().ApplyDamage(damage));
     }
     return(true);
 }
 public void SetHitType(Enemy_BT.ENEMY_GET_DAMAGE_TYPE dmg_type)
 {
     next_dmg_type = dmg_type;
 }