// Start the drop movement with the current dropWaypoints public void Drop(float dropTime) { dropWaypoints.Add(new Waypoint(transform.position)); movable.AddWaypoints(dropWaypoints); movable.SetMoveTime(dropTime); movable.SetAnimationCurve(dropCurve); movable.OnMoveComplete = (() => { IsDropping = false; dropWaypoints.Clear(); OnDropComplete(); }); movable.Play(); }