示例#1
0
    public List <Unit> GetUnitsEnemyIsAttacking(Building building)
    {
        List <Unit> targets = new List <Unit>();

        AttackBuildingOrder ABO;

        foreach (AttackOrder AO in this.player.enemyAttackOrders)
        {
            if (AO.GetType() == typeof(AttackBuildingOrder))
            {
                ABO = (AttackBuildingOrder)AO;
                if (ABO.target == building)
                {
                    if (ABO.units.Count > 0)
                    {
                        return(ABO.units);
                    }
                    else
                    {
                        ABO.isActive = false;
                    }
                }
            }
        }

        return(targets);
    }
示例#2
0
    public List <Unit> GetUnitsEnemyIsAttacking(Unit unit)
    {
        AttackUnitOrder AUO;

        foreach (AttackOrder AO in this.player.enemyAttackOrders)
        {
            if (AO.GetType() == typeof(AttackUnitOrder))
            {
                AUO = (AttackUnitOrder)AO;
                if (AUO.targets.Contains(unit))
                {
                    return(AUO.units);
                }
            }
        }

        return(null);
    }