void FixedUpdate() { if (!doThrow) { return; } if (progress < 1) { progress += Time.deltaTime * speed; transform.position = Curves.CubeBezier3(startingPosition, p1Position, p2Position, destinationPosition, progress); transform.GetComponentInChildren <SpriteRenderer>().transform.RotateAroundLocal(Vector3.up, rotationSpeed); DestroyOnCollision(Curves.CubeBezier3(startingPosition, p1Position, p2Position, destinationPosition, progress + Time.deltaTime * speed * 2f)); } if (progress >= 1) { GetComponentInChildren <SpriteRenderer>().sortingOrder = 2; transform.position = destinationPosition; Destroy(this); } }