public static CampActionAttribute Prev(this CampActionAttribute campAction) { CampActionAttribute result = CampActionAttribute.deffender; if (campAction == CampActionAttribute.attack) { result = CampActionAttribute.middle; } else if (campAction == CampActionAttribute.middle) { result = CampActionAttribute.deffender; } else { result = CampActionAttribute.deffender; } return(result); }
public PlayerController GetPlayerNearBall(CampTeam team, CampActionAttribute campAcation) { TeamManager manager = GetTeamManager(team); List <PlayerController> players = manager.Players; players.RemoveAll(r => r.isOk == false); //players.RemoveAll(r => r.Locomotion.inAir); players.RemoveAll(r => r.GetCampAction() != campAcation); if (players.Count > 0) { float min = players.Min(r => r.transform.Distance(BallController.instance.transform)); PlayerController player = players.FirstOrDefault(r => r.transform.Distance(BallController.instance.transform) == min); return(player); } else { return(null); } }