void Update() { if (maneuver != null) { maneuver.UpdateState(); gameObject.transform.position = maneuver.CalculateWorldPosition(); gameObject.transform.rotation = maneuver.CalculateWorldRotation(); if (maneuver is LoopThenCircle && maneuver.canInterrupt && !(interruptedManeuver is MakeCircle)) { maneuver = interruptedManeuver; maneuver.Resume(); } } }