private Vector3 GetBlockDefensivePosition(Vector3 ballPosition) { if (_matchStatus?.IsServe ?? false) { return(Position); } var fowardDirection = TeamFoward.z; var netDistance = 0.1f * fowardDirection; if (!Opponents.Any()) { return(Position); } var horizontalPosition = Opponents.OrderBy(x => Position.Distance(x.Position)).First().Position.x; return(new Vector3(horizontalPosition, 0, netDistance)); }