// return current grabbed car part void Return() { //Debug.Log($"{gameObject.name} is in return mode"); float dist = DistanceToHome(gameObject.transform.position); if (dist < UnityEngine.Random.Range(0.5f, dist)) { minifig.ClearMoves(); _grabber.DropPart(); _target = null; _state = State.FIND; return; } Vector3 targetPosition = homePlate.transform.position; targetPosition.z += 0.1f; minifig.MoveTo(targetPosition, onComplete: () => { //Debug.Log("return complete!!!"); _grabber.DropPart(); _target = null; _state = State.FIND; }); }