public void Stop(bool arrived_at_destination = false) { target = null; targetOffsets = null; path.Clear(); base.smi.sm.moveTarget.Set(null, base.smi); transitionDriver.EndTransition(); HashedString idleAnim = NavGrid.GetIdleAnim(CurrentNavType); KAnimControllerBase component = GetComponent <KAnimControllerBase>(); component.Play(idleAnim, KAnim.PlayMode.Loop, 1f, 0f); if (arrived_at_destination) { base.smi.GoTo(base.smi.sm.arrived); } else if (base.smi.GetCurrentState() == base.smi.sm.moving) { ClearReservedCell(); base.smi.GoTo(base.smi.sm.failed); } }