private Transform FindBestSpotInCover(Cover cover, ref float minAngle) { Transform[] availiableSpot = cover.GetCoverSpot(); Transform best = null; for (int i = 0; i < covers.Length; i++) { Vector3 dir = player.transform.position - availiableSpot[i].position; if (Check(availiableSpot[i])) { float angle = Vector3.Angle(availiableSpot[i].forward, dir); if (angle < minAngle) { minAngle = angle; best = availiableSpot[i]; } } } return(best); }