コード例 #1
0
    void UpdateDirection()
    {
        Vector3 direction;

        if (m_MovementModel.IsDead())
        {
            Animator.SetFloat("DirectionX", 0);
            Animator.SetFloat("DirectionY", -1);
            Animator.SetBool("IsMoving", false);
            return;
        }

        if (m_MovementModel.IsPushing())
        {
            direction = m_MovementModel.GetPushingDirection();
        }
        else
        {
            direction = m_MovementModel.GetDirection();
        }

        if (direction != Vector3.zero)
        {
            if (direction.x > 0 && direction.y == 0)
            {
                Animator.SetFloat("DirectionX", 1);
                Animator.SetFloat("DirectionY", 0);
            }
            else if (direction.x < 0 && direction.y == 0)
            {
                Animator.SetFloat("DirectionX", -1);
                Animator.SetFloat("DirectionY", 0);
            }
            else if (direction.x == 0 && direction.y > 0)
            {
                Animator.SetFloat("DirectionX", 0);
                Animator.SetFloat("DirectionY", 1);
            }
            else if (direction.x == 0 && direction.y < 0)
            {
                Animator.SetFloat("DirectionX", 0);
                Animator.SetFloat("DirectionY", -1);
            }
            else if ((direction.x > 0 && direction.y > 0) || (direction.x > 0 && direction.y < 0))
            {
                Animator.SetFloat("DirectionX", 1);
                Animator.SetFloat("DirectionY", 0);
            }
            else if ((direction.x < 0 && direction.y > 0) || (direction.x < 0 && direction.y < 0))
            {
                Animator.SetFloat("DirectionX", -1);
                Animator.SetFloat("DirectionY", 0);
            }
        }

        Animator.SetBool("IsMoving", m_MovementModel.IsMoving());
    }
コード例 #2
0
    void UpdateDirection()
    {
        Vector3 direction = m_MovementModel.GetDirection();

        if (direction != Vector3.zero)
        {
            Animator.SetFloat("DirectionX", direction.x);
            Animator.SetFloat("DirectionY", direction.y);
        }

        Animator.SetBool("IsMoving", m_MovementModel.IsMoving());
    }
コード例 #3
0
    private void UpdateDirection()
    {
        Vector2 direction = myMoveModel.GetDirection();

        if (myAnimator != null)
        {
            if (direction != Vector2.zero)
            {
                myAnimator.SetFloat("DirectionX", direction.x);
                myAnimator.SetFloat("DirectionY", direction.y);
            }

            myAnimator.SetBool("isMoving", myMoveModel.IsMoving());
        }
    }
コード例 #4
0
    /// <summary>
    /// Moves the position of the "interact zone" based on the
    /// direction the character is facing
    /// </summary>
    public void UpdateInteractPosition()
    {
        Vector2 facing = myMoveModel.GetDirection();

        if (facing == Vector2.zero)
        {
            return;
        }
        facing.Normalize();
        transform.localPosition = facing * positionScale;

        if (facing.y > 0)
        {
            heldObject.GetComponent <SpriteRenderer>().sortingOrder = 3;
            firePlateParticles.GetComponent <ParticleSystemRenderer>().sortingOrder = 4;
        }
        else
        {
            heldObject.GetComponent <SpriteRenderer>().sortingOrder = 6;
            firePlateParticles.GetComponent <ParticleSystemRenderer>().sortingOrder = 7;
        }
    }