카메라 초기화 방식 변경
This commit is contained in:
parent
8031f5cfa0
commit
2f2226e3d4
@ -274,46 +274,6 @@ PrefabInstance:
|
||||
propertyPath: skeletonDataAsset
|
||||
value:
|
||||
objectReference: {fileID: 11400000, guid: 57e95ec929c09d64c9f85a40f849786a, type: 2}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
@ -326,10 +286,6 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1761643478070701343, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_ConstrainProportionsScale
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2182479135931305606, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3}
|
||||
propertyPath: m_Layer
|
||||
value: 6
|
||||
|
@ -15,19 +15,6 @@ private void Awake()
|
||||
_cinemachineCamera = GetComponent<CinemachineCamera>();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
CameraManager.Instance.RegisterCamera(this);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (CameraManager.Instance)
|
||||
{
|
||||
CameraManager.Instance.UnRegisterCamera(this);
|
||||
}
|
||||
}
|
||||
|
||||
public int GetPriority() => _cinemachineCamera.Priority;
|
||||
public void SetPriority(int newPriority) => _cinemachineCamera.Priority = newPriority;
|
||||
public void SetFollowTarget(Transform target) => _cinemachineCamera.Follow = target;
|
||||
|
@ -2,6 +2,7 @@
|
||||
using System.Threading.Tasks;
|
||||
using Sirenix.OdinInspector;
|
||||
using Unity.Cinemachine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
@ -17,6 +18,18 @@ public class CameraManager : Singleton<CameraManager>, IManager
|
||||
private Dictionary<CameraType, CameraGameObject> _cameraGameObjects = new();
|
||||
|
||||
private CinemachineBrain _cinemachineBrain;
|
||||
private TaskCompletionSource<bool> _initializationTask = new();
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
foreach (var cameraGameObject in _cameraGameObjects.Values)
|
||||
{
|
||||
if (cameraGameObject)
|
||||
{
|
||||
UnRegisterCamera(cameraGameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void PreInit()
|
||||
{
|
||||
@ -25,12 +38,17 @@ public void PreInit()
|
||||
|
||||
public Task Init()
|
||||
{
|
||||
return Task.CompletedTask;;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public void PostInit()
|
||||
{
|
||||
|
||||
var cameraGameObjects = FindObjectsByType<CameraGameObject>(FindObjectsInactive.Include, FindObjectsSortMode.None);
|
||||
foreach (var cameraGameObject in cameraGameObjects)
|
||||
{
|
||||
RegisterCamera(cameraGameObject);
|
||||
}
|
||||
_initializationTask.SetResult(true);
|
||||
}
|
||||
|
||||
public void RegisterCamera(CameraGameObject cameraGameObject)
|
||||
@ -53,6 +71,16 @@ public void SwitchCamera(CameraType cameraType, CinemachineBlendDefinition.Style
|
||||
}
|
||||
}
|
||||
|
||||
public CameraGameObject GetCameraGameObject(CameraType cameraType) => _cameraGameObjects[cameraType];
|
||||
public async Task<CameraGameObject> GetCameraGameObject(CameraType cameraType)
|
||||
{
|
||||
await _initializationTask.Task;
|
||||
|
||||
if (_cameraGameObjects.TryGetValue(cameraType, out var cameraGameObject))
|
||||
{
|
||||
return cameraGameObject;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DDD
|
||||
@ -7,7 +8,15 @@ public class RestaurantPlayerCharacter : RestaurantCharacter
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
|
||||
_ = Initialize();
|
||||
}
|
||||
|
||||
private async Task Initialize()
|
||||
{
|
||||
PlayerManager.Instance.RegisterPlayer(gameObject);
|
||||
var cameraObject = await CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera);
|
||||
cameraObject?.SetFollowAndLookAtTarget(transform);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user