Пример #1
0
        public static List <Unit> GetUnitsWithinRange(Vector3 pos, float range, UnitTower._TargetGroup tgtGroup = UnitTower._TargetGroup.All)
        {
            List <Unit> unitList = GetActiveUnitList();        List <Unit> tgtList = new List <Unit>();

            for (int i = 0; i < unitList.Count; i++)
            {
                if (tgtGroup == UnitTower._TargetGroup.Ground && unitList[i].IsFlying())
                {
                    continue;
                }
                if (tgtGroup == UnitTower._TargetGroup.Air && !unitList[i].IsFlying())
                {
                    continue;
                }
                if (Vector3.Distance(pos, unitList[i].GetPos()) < range + unitList[i].GetRadius())
                {
                    tgtList.Add(unitList[i]);
                }
            }
            return(tgtList);
        }
Пример #2
0
 public static List <Unit> GetUnitsWithinRange(Unit srcUnit, float range, UnitTower._TargetGroup tgtGroup = UnitTower._TargetGroup.All)
 {
     return(GetUnitsWithinRange(srcUnit.GetPos(), range, tgtGroup));
 }