示例#1
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);
        }
    }
示例#2
0
    void Update()
    {
        if (wizardModel.GetIsMoving())
        {
            animator.SetBool("IsMoving", !wizardModel.GetIsJumping());
        }
        else
        {
            animator.SetBool("IsMoving", false);
        }
        animator.SetBool("IsJumping", wizardModel.GetIsJumping());

        if (wizardModel.GetIsAttacking())
        {
            wizardModel.SetIsAttacking(false);
            animator.SetTrigger("AttackTrigger");
        }

        if (!wizardModel.isAlive)
        {
            animator.SetTrigger("DeadTrigger");
            enabled = false;
        }
    }