diff --git a/Assets/_DDD/_Addressables/Scenes/Restaurant.unity b/Assets/_DDD/_Addressables/Scenes/Restaurant.unity index 6dab4c05b..e213676bc 100644 --- a/Assets/_DDD/_Addressables/Scenes/Restaurant.unity +++ b/Assets/_DDD/_Addressables/Scenes/Restaurant.unity @@ -4889,63 +4889,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 04cb72fe661fd534b950283199ac4a83, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &1922601885 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3914215459674519121, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_Name - value: GameManager - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7699237936705830620, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 9f16b0b665c13444aaced76f8dfe3136, type: 3} --- !u!114 &1926192729 MonoBehaviour: m_ObjectHideFlags: 0 @@ -32569,9 +32512,9 @@ GameObject: - component: {fileID: 5019153103791118558} - component: {fileID: 3688312069522590479} - component: {fileID: 6463147863076644390} - - component: {fileID: 3956599978295396428} + - component: {fileID: 6463147863076644391} m_Layer: 0 - m_Name: BaseCam + m_Name: RestaurantBaseCamera m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -40437,20 +40380,6 @@ Transform: - {fileID: 4542424994289489336} m_Father: {fileID: 7160408128829955619} m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0} ---- !u!114 &3956599978295396428 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3015334612608266903} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4d75924d76b05344aa410607bc57db98, type: 3} - m_Name: - m_EditorClassIdentifier: - BoundingVolume: {fileID: 0} - SlowingDistance: 0 --- !u!4 &3964656713841077124 Transform: m_ObjectHideFlags: 0 @@ -62175,6 +62104,19 @@ MonoBehaviour: DissipationDistance: 100 PropagationSpeed: 343 DefaultVelocity: {x: 0, y: -1, z: 0} +--- !u!114 &6463147863076644391 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3015334612608266903} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b1ef0319328bf84a98bed912be4c61d, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: RestaurantBaseCamera --- !u!108 &6464483386687510218 Light: m_ObjectHideFlags: 0 @@ -85997,7 +85939,6 @@ SceneRoots: m_Roots: - {fileID: 1041959416} - {fileID: 45031421} - - {fileID: 1922601885} - {fileID: 1972254857} - {fileID: 1804444097} - {fileID: 5280945432206803416} diff --git a/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs b/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs new file mode 100644 index 000000000..25fb47207 --- /dev/null +++ b/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs @@ -0,0 +1,31 @@ +using Unity.Cinemachine; +using UnityEngine; + +namespace DDD +{ + public class CameraGameObject : MonoBehaviour + { + [field: SerializeField] + public string Id { get; private set; } + + private CinemachineCamera _cinemachineCamera; + + private void Awake() + { + _cinemachineCamera = GetComponent(); + } + + private void Start() + { + CameraManager.Instance.RegisterCamera(this); + } + + private void OnDestroy() + { + CameraManager.Instance.UnRegisterCamera(this); + } + + public int GetPriority() => _cinemachineCamera.Priority; + public void SetPriority(int newPriority) => _cinemachineCamera.Priority = newPriority; + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs.meta b/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs.meta new file mode 100644 index 000000000..e56b3c5b9 --- /dev/null +++ b/Assets/_DDD/_Scripts/CameraSystem/CameraGameObject.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1b1ef0319328bf84a98bed912be4c61d \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/CameraSystem/CameraManager.cs b/Assets/_DDD/_Scripts/CameraSystem/CameraManager.cs index 617683359..271e7d645 100644 --- a/Assets/_DDD/_Scripts/CameraSystem/CameraManager.cs +++ b/Assets/_DDD/_Scripts/CameraSystem/CameraManager.cs @@ -1,61 +1,44 @@ -using System; using System.Collections.Generic; -using System.Threading.Tasks; using Sirenix.OdinInspector; using Unity.Cinemachine; -using UnityEngine; namespace DDD { - public enum CameraType - { - BaseCam = 0, - } - - public class CameraManager : Singleton + public class CameraManager : Singleton, IManager { [ShowInInspector, ReadOnly] - private Dictionary _cameraDict; + private Dictionary _cameraGameObjects; private CinemachineBrain _cinemachineBrain; - - protected override void OnAwake() + + public void Init() { - base.OnAwake(); - + _cameraGameObjects = new Dictionary(); _cinemachineBrain = GetComponent(); } - public void ChangeScene(SceneType sceneType) + public void PostInit() { - var foundCams = FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); - _cameraDict = new Dictionary(foundCams.Length); + + } - foreach (var cam in foundCams) - { - if (Enum.TryParse(cam.name, out var type)) - { - if (!_cameraDict.TryAdd(type, cam)) - Debug.LogWarning($"중복된 CameraType: {type}"); - } - else - { - Debug.LogWarning($"Enum에 없는 카메라 이름: {cam.name}"); - } - } + public void RegisterCamera(CameraGameObject cameraGameObject) + { + _cameraGameObjects.TryAdd(cameraGameObject.Id, cameraGameObject); + } - if (sceneType == SceneType.Restaurant) - { - SwitchCamera(CameraType.BaseCam); - } + public void UnRegisterCamera(CameraGameObject cameraGameObject) + { + _cameraGameObjects.Remove(cameraGameObject.Id); } - public void SwitchCamera(CameraType cameraType, CinemachineBlendDefinition.Styles blendStyle = CinemachineBlendDefinition.Styles.Cut, float blendDuration = 1f) + public void SwitchCamera(CameraGameObject cameraGameObject, CinemachineBlendDefinition.Styles blendStyle = CinemachineBlendDefinition.Styles.Cut, float blendDuration = 1f) { _cinemachineBrain.DefaultBlend = new CinemachineBlendDefinition(blendStyle, blendDuration); - foreach (var pair in _cameraDict) + foreach (var item in _cameraGameObjects) { - pair.Value.Priority = (pair.Key == cameraType) ? 10 : 0; + int newPriority = item.Value.Id == cameraGameObject.Id ? 10 : 0; + item.Value.SetPriority(newPriority); } } } diff --git a/Assets/_DDD/Persistance/CameraManager.prefab b/Assets/_DDD/_Scripts/CameraSystem/CameraManager.prefab similarity index 98% rename from Assets/_DDD/Persistance/CameraManager.prefab rename to Assets/_DDD/_Scripts/CameraSystem/CameraManager.prefab index d7c6b130c..8fde022d3 100644 --- a/Assets/_DDD/Persistance/CameraManager.prefab +++ b/Assets/_DDD/_Scripts/CameraSystem/CameraManager.prefab @@ -45,8 +45,8 @@ Camera: m_GameObject: {fileID: 7292682221138498026} m_Enabled: 1 serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 diff --git a/Assets/_DDD/Persistance/CameraManager.prefab.meta b/Assets/_DDD/_Scripts/CameraSystem/CameraManager.prefab.meta similarity index 100% rename from Assets/_DDD/Persistance/CameraManager.prefab.meta rename to Assets/_DDD/_Scripts/CameraSystem/CameraManager.prefab.meta diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab.meta new file mode 100644 index 000000000..55278c40a --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3f6eaeb89086ab49a743c6cb3f4ddd2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/Persistance/GoogleSheetManager.prefab b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab/GoogleSheetManager.prefab similarity index 100% rename from Assets/_DDD/Persistance/GoogleSheetManager.prefab rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab/GoogleSheetManager.prefab diff --git a/Assets/_DDD/Persistance/GoogleSheetManager.prefab.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab/GoogleSheetManager.prefab.meta similarity index 100% rename from Assets/_DDD/Persistance/GoogleSheetManager.prefab.meta rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/Prefab/GoogleSheetManager.prefab.meta