示例#1
0
    private void CheckJumpCondition()
    {
        if (Input.GetButtonDown("Jump") && !wizardModel.GetIsJumping())
        {
            wizardModel.SetYVelocity(wizardModel.jumpVelocity);
        }

        bool wizardIsOnTheGround = wizardGroundCollider.IsTouchingLayers(LayerMask.GetMask("Foreground"));

        wizardModel.SetIsJumping(!wizardIsOnTheGround);
    }
示例#2
0
    private void Update()
    {
        if (Mathf.Abs(wizardModel.GetXVelocity()) > Mathf.Epsilon)
        {
            rigidBody.velocity   = new Vector2(wizardModel.GetXVelocity(), rigidBody.velocity.y);
            transform.localScale = new Vector3(wizardModel.GetXScale(), transform.localScale.y, transform.localScale.z);
            wizardModel.SetXVelocity(0.0f);
        }

        if (wizardModel.GetYVelocity() > Mathf.Epsilon)
        {
            rigidBody.velocity = new Vector2(rigidBody.velocity.x, wizardModel.GetYVelocity());
            wizardModel.SetYVelocity(0.0f);
        }

        if (!wizardModel.GetIsMoving() && Mathf.Abs(rigidBody.velocity.x) > Mathf.Epsilon)
        {
            rigidBody.velocity = new Vector2(0.0f, rigidBody.velocity.y);
        }
    }