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); }
public static List <Unit> GetUnitsWithinRange(Unit srcUnit, float range, UnitTower._TargetGroup tgtGroup = UnitTower._TargetGroup.All) { return(GetUnitsWithinRange(srcUnit.GetPos(), range, tgtGroup)); }