Exemple #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());
    }
Exemple #2
0
    void CheckMoveBackToPlayer()
    {
        if (movementModel.GetCameraDirection() != Vector2.zero)
        {
            resetCamera = false;
        }

        if (resetCamera)
        {
            transform.position = Vector2.MoveTowards((Vector2)transform.position, (Vector2)movementModel.gameObject.transform.position, Time.deltaTime * 5f);
            if ((Vector2)transform.position == (Vector2)movementModel.gameObject.transform.position)
            {
                resetCamera = false;
                if (movementModel.IsDead())
                {
                    movementModel.GetComponentInChildren <SpriteRenderer>().enabled = true;
                    movementModel.SetIsDead(false);
                }
            }
        }
    }