Пример #1
0
 /// <summary>
 /// Gets the units collection of the specified team.
 /// </summary>
 /// <param name="team">The team.</param>
 /// <returns>The units collection.</returns>
 private KDTree <Unit> GetUnitsOfTeam(Team team)
 {
     units.TryGetValue(team, out var collection);
     return(collection);
 }
Пример #2
0
 /// <summary>
 /// Gets the units with the specified team in the specified circular region.
 /// </summary>
 /// <param name="team">The team.</param>
 /// <param name="point">The area center point coordinates.</param>
 /// <param name="radius">The radius.</param>
 /// <returns>The units.</returns>
 public IEnumerable <Unit> GetUnitsByCircleArea(Team team, Vector3 point, float radius)
 {
     return(GetUnitsOfTeam(team)?.GetByCircleArea(point, radius) ?? Enumerable.Empty <Unit>());
 }
Пример #3
0
 /// <summary>
 /// Finds the closest unit to the specified point with the specified team.
 /// </summary>
 /// <param name="team">The team.</param>
 /// <param name="position">The position.</param>
 /// <returns>The unit.</returns>
 public Unit FindClosestUnit(Team team, Vector3 position)
 {
     return(GetUnitsOfTeam(team)?.FindClosest(position));
 }
Пример #4
0
 /// <summary>
 /// Gets the units with the specified team in the specified rectangular region.
 /// </summary>
 /// <param name="team">The team.</param>
 /// <param name="min">The minimum point coordinates.</param>
 /// <param name="max">The maximum point coordinates..</param>
 /// <returns>The units.</returns>
 public IEnumerable <Unit> GetUnitsByRegion(Team team, Vector3 min, Vector3 max)
 {
     return(GetUnitsOfTeam(team)?.GetByRegion(min, max) ?? Enumerable.Empty <Unit>());
 }