/// <summary> /// Gets the unit target for the specified team member. /// </summary> /// <param name="member">The team member.</param> /// <returns>The unit.</returns> /// <exception cref="NullReferenceException">member</exception> public ITarget GetUnitTargetFor(ITeamMember member) { if (member.IsNullOrMissing()) { throw new NullReferenceException(nameof(member)); } var teamOpponents = GetOpponentsTeam(member.Team); return(UnitsKeeper.FindClosestUnit(teamOpponents, member.transform.position) as ITarget); }
/// <summary> /// Gets the unit targets at area for the specified team. /// </summary> /// <param name="team">The team.</param> /// <param name="area">The area.</param> /// <returns>The units.</returns> public IEnumerable <ITarget> GetUnitTargetsAtAreaFor(Team team, AreaTarget area) { var teamOpponents = GetOpponentsTeam(team); return(UnitsKeeper.GetUnitsByCircleArea(teamOpponents, area.Position, area.Radius)); }