using System;
using UnityEngine;

public class CameraController : MonoBehaviour
{
    [Header("Follow Camera Settings")]
    [SerializeField]
    Define.CameraMode _cameraMode = Define.CameraMode.QuarterView;
    [SerializeField]
    Vector3 _position = new Vector3(0.0f, 15.0f, -7.0f);
    [SerializeField]
    float _verticalFraming = 0.0f; // 음수일 수록 밑으로 
    
    [Header("Target Settings")]
    [SerializeField]
    GameObject _player = null;
    [SerializeField]
    // 카메라가 플레이어 캐릭터의 발에서 이정도 위치만큼 이동한 곳의 위치를 바라보도록 한다.
    Vector3 _lookAt = new Vector3(0.0f, 0.0f, 0.0f);
    
    
    void Start()
    {
    }

    private void LateUpdate()
    {
        switch (_cameraMode)
        {
            case Define.CameraMode.QuarterView:
                // if (_playerController.IsAttack) return; // 여기 공격 넣어서 하는거 확인하기 
                Vector3 lookAtPos = _player.transform.position + _lookAt;
                transform.position = _player.transform.position + _position;
                transform.LookAt(lookAtPos);
                transform.Rotate(Vector3.right, _verticalFraming, Space.Self);
                break;
            default:
                break;
        }
    }
    
}


