protected virtual bool ShouldChangeToWaitingForCenter() { var shouldSwitch = false; var goalLocation = Field.GetEnemyGoal(); var ballZone = Field.Zones.FirstOrDefault(z => z.Rec.IsPointWithin(Ball.Location)); if (ballZone != null && ballZone.IsMySide == false && ballZone.IsCornder) { if (Field.TowardMySide(Ball) == false) { shouldSwitch = true; } } return(shouldSwitch); }