Ride.Jump C# (CSharp) Method

Jump() private method

private Jump ( ) : IEnumerator
return IEnumerator
    private IEnumerator Jump()
    {
        yield return null;

        Boat.GetComponent<EdgeCollider2D>().enabled = true;
        _player.GetComponent<playerCtrl>().canMove = false;

        _player.parent = transform;
        _player.GetComponent<CircleCollider2D>().enabled = false;

        _player.GetComponent<playerCtrl>().Move(transform.position);

        float remain = (transform.position - _player.position).sqrMagnitude;

        while (remain * remain > 0.1f)
        {

            remain = (transform.position - _player.position).sqrMagnitude;
            yield return null;
        }

        _player.GetComponent<playerCtrl>().Stop = true;

        GetComponent<Animator>().enabled = true;

        yield return new WaitForSeconds(1.0f);

        _player.GetComponent<CircleCollider2D>().enabled = true;
        _player.parent = Boat.transform;

        Boat.GetComponent<CircleCollider2D>().enabled = true;
        Boat.GetComponent<Rigidbody2D>().gravityScale = 2.0f;
    }