예제 #1
0
    private void OnTriggerStay(Collider other)
    {
        // 로컬플레이어가 아니라면 함수 종료
        if (!photonView.IsMine)
        {
            return;
        }

        // 플레이어만 감지 함
        if (other.tag != TAG_PLAYER)
        {
            return;
        }

        // 현재 감지된 플레이어의 정보를 가져옴
        UPlayer target = other.gameObject.GetComponentInChildren <UPlayer>();

        // 감지된 플레이어가 같은 팀이라면 함수 종료
        if (_playerState.teamInfo == target.GetData().teamInfo)
        {
            return;
        }

        // 감지된 오브젝트로 바라보는 방향벡터를 구함
        Vector3 direction = (other.transform.position) - (transform.position);

        transform.forward = direction.normalized;

        // 코루틴이 실행 중이 아니라면
        if (!isRunning)
        {
            isRunning = true;
            // 공격 시작
            CannonAttack(other.transform.position);
        }
    }