Exemplo n.º 1
0
    private void Update()
    {
        // 로컬 플레이어인지 체크
        if (!photonView.IsMine)
        {
            return;
        }

        // 공격 조이스틱 오브젝트가 있다면
        if (attackJoyStick)
        {
            // 일반 공격 조이스틱이 터치 중인지?
            isAttackAiming = attackJoyStick.GetIsJoyStickTouch();
            if (isAttackAiming)
            {
                // 조이스틱의 방향으로 캐릭터 회전
                transform.eulerAngles = attackJoyStick.GetEulerAngles();

                // 공격 조준 UI 출력
                _player.AttackAiming();
            }
        }

        // 특수공격 조이스틱 오브젝트가 있다면
        if (skillJoyStick)
        {
            // 특수 공격 조이스틱이 터치 중인지?
            isSkillAiming = skillJoyStick.GetIsJoyStickTouch();
            if (isSkillAiming)
            {
                // 조이스틱의 방향으로 캐릭터 회전
                transform.eulerAngles = skillJoyStick.GetEulerAngles();

                // 공격 조준 UI 출력
                _player.SkillAiming(skillJoyStick.GetDistance());
            }
        }


        // 이동 조이스틱 오브젝트가 존재한다면
        if (moveJoyStick)
        {
            // 이동 조이스틱이 터치 중인지?
            bool isMove = moveJoyStick.GetIsJoyStickTouch();
            if (isMove)
            {
                // 공격 조준중이 아니라면
                if (!isAttackAiming || !isSkillAiming)
                {
                    // 이동방향으로 캐릭터를 회전
                    transform.eulerAngles = moveJoyStick.GetEulerAngles();
                }

                // 캐릭터 위치를 움직임
                _player.Move();
            }

            // 달리는 애니메이션 실행
            _playerAnimation.Move(isMove);
        }
    }