Ejemplo n.º 1
0
    /// <summary>
    /// obj 에게 카메라 이동
    /// </summary>
    /// <param name="obj">타겟</param>
    /// <param name="_camAngle">적용할 앵글</param>
    public void CamMoveTo(Transform obj, CamAngle _camAngle)
    {
        // 사용 중단
        if (false)
        {
            // 메인 시점 움직임 가능처리
            if (obj == controller.cam)
            {
                controller.isFreeMode = true;
            }
            // 그 외 시점 움직임 불가능 처리
            else
            {
                controller.isFreeMode = false;
            }

            // 버튼, 자유모드 싱크
            LockBtn.isOn = !(controller.isFreeMode);
        }

        // 카메라 목표 저장
        camPoint = new CamPoint(obj, _camAngle);

        // 이동 적용
        if (LockBtn.isOn)
        {
            // 계층구조 변경
            Camera.main.transform.SetParent(obj);

            // 이동 명령
            CamMove(_camAngle);
        }
    }
Ejemplo n.º 2
0
    public Transform GetCamPoint(WorkManager.TaskType taskType)
    {
        CamPoint currentCamPoint = cameraHooks.Find(x => x.taskType == taskType);

        if (currentCamPoint == null)
        {
            Debug.LogError("Teleport point " + taskType + " does not exist!");
        }

        return(currentCamPoint.transform);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 카메라 자유 모드 진입
    /// </summary>
    public void CamFree()
    {
        // 목표 앵글 백업
        CamPoint camPointTemp = camPoint;

        // 좌표 싱크
        controller.cam.position = Camera.main.transform.parent.position;

        // 카메라 탈착
        Camera.main.transform.SetParent(controller.cam);

        // 앵글 전환
        CamMoveTo(controller.cam, CamAngle.Top);

        // 목표 백업 가져오기
        camPoint = camPointTemp;
    }
Ejemplo n.º 4
0
    public void CamToPlayer(Transform obj)
    {
        Debug.LogWarning(obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.name);
        Debug.LogWarning(obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.position);

        // 자유 모드 아닐경우 중단
        if (!controller.isFreeMode)
        {
            return;
        }

        // 목표 앵글 백업
        CamPoint camPointTemp = camPoint;

        // 좌표 싱크
        controller.cam.position = obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.position;
        Debug.LogWarning(controller.cam.position);

        // 앵글 전환
        CamMoveTo(controller.cam, CamAngle.Top);

        // 목표 백업 가져오기
        camPoint = camPointTemp;
    }
Ejemplo n.º 5
0
 public void CamMoveTo(CamPoint _camPoint)
 {
     CamMoveTo(_camPoint.focus, _camPoint.camAngle);
 }