IEnumerator ThrowInto(Grabbable toy, Character owner) { var iPos = toy.transform.position; var tPos = transform.position + (Vector3.up); bool splashed = false; float factor = 0f; while (factor <= 1.1f) { var newPos = Vector3.Lerp(iPos, tPos, factor); toy.body.MovePosition(newPos); if (!splashed && factor < 0.5f) { splash.Play(); splashed = true; } yield return(new WaitForFixedUpdate()); factor += Time.fixedDeltaTime / /*duration*/ 0.15f; } toy.DestroySilenty(); OnDrop(owner); }