+ 주인공 스킬(검의 왈츠)가 추가되었습니다. ㄴ 검의 왈츠 애니메이션이 추가되었습니다. ㄴ 스킬에 맞게 UI를 표시합니다. + 주인공이 더 이상 공격 중에 이동할 수 없습니다. + 새로운 스킬 시스템으로 변경하였습니다. + Combat씬에서 사용할 Camera, Ui를 추가하였습니다. + Input Action이 변경 되었습니다. (UseSkill => ActivateMainSkill) + Idamameable 인터페이스에 GetCurrentHp() 기능이 추가되었습니다. ㄴ 변경에 따라 기존 스크립트들에 추가되었습니다.
65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using Cinemachine;
|
|
using Sirenix.OdinInspector;
|
|
using UnityEngine;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace BlueWaterProject
|
|
{
|
|
public class CombatCamera : MonoBehaviour
|
|
{
|
|
[Title("초기화 방식")]
|
|
[SerializeField] private bool autoInit = true;
|
|
|
|
[field: Title("카메라")]
|
|
[field: SerializeField] public CinemachineVirtualCamera BaseCombatCamera { get; private set; }
|
|
|
|
private GameObject cinemachineCameras;
|
|
private List<CinemachineVirtualCamera> cineCamList;
|
|
|
|
private const int CINE_CAM_NUM = 1;
|
|
|
|
private void Awake()
|
|
{
|
|
if (autoInit)
|
|
{
|
|
Init();
|
|
}
|
|
|
|
CameraManager.Inst.CombatCamera = this;
|
|
CameraManager.Inst.MainCam = Camera.main;
|
|
}
|
|
|
|
[Button("셋팅 초기화")]
|
|
private void Init()
|
|
{
|
|
cinemachineCameras = GameObject.Find("CinemachineCameras");
|
|
if (!cinemachineCameras)
|
|
{
|
|
Debug.LogError("cineCams is null error");
|
|
return;
|
|
}
|
|
|
|
BaseCombatCamera = cinemachineCameras.transform.Find("BaseCombatCamera")?.GetComponent<CinemachineVirtualCamera>();
|
|
if (!BaseCombatCamera)
|
|
{
|
|
Debug.LogError("BaseShipCam is null error");
|
|
return;
|
|
}
|
|
|
|
cineCamList = new List<CinemachineVirtualCamera>(CINE_CAM_NUM)
|
|
{
|
|
BaseCombatCamera
|
|
};
|
|
|
|
foreach (var cam in cineCamList)
|
|
{
|
|
cam.Priority = 0;
|
|
}
|
|
|
|
BaseCombatCamera.Priority = 1;
|
|
|
|
CameraManager.Inst.MainCam = Camera.main;
|
|
}
|
|
}
|
|
} |