private void OnTriggerExit2D(Collider2D collision) { if (ColliderUtils.HasBallCollided(collision)) { GameObject ballGameObject = collision.gameObject; BallController ballControlerScript = BallUtils.FetchBallControllerScript(ballGameObject); if (ballControlerScript.IsMoving && ballControlerScript.IsHit && !ballControlerScript.IsPitched) { GameObject player = this.gameObject.transform.parent.parent.parent.gameObject; if (PlayerUtils.HasPitcherPosition(player)) { ballControlerScript.IsTargetedByPitcher = false; PitcherBehaviour pitcherBehaviour = PlayerUtils.FetchPitcherBehaviourScript(player); pitcherBehaviour.Target = FieldUtils.GetTileCenterPositionInGameWorld(FieldUtils.GetPitcherBaseTilePosition()); pitcherBehaviour.HasSpottedBall = false; } } } }