From 2bb4797ec5bd367e00b05c63ea9580651f935598 Mon Sep 17 00:00:00 2001 From: dal4segno Date: Wed, 4 Feb 2026 18:46:46 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20UI=EA=B0=80=20=EA=B0=81=20?= =?UTF-8?q?=ED=94=8C=EB=A0=88=EC=9D=B4=EC=96=B4=20=EB=B3=84=EB=A1=9C=20?= =?UTF-8?q?=EB=8F=99=EC=9E=91=ED=95=98=EB=8F=84=EB=A1=9D=20=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Prefabs/Player/Player.prefab | 291 ++++++++++++++++++++- Assets/Scenes/GameMain.unity | 283 -------------------- Assets/Scripts/InteractableModalManager.cs | 74 +++++- 3 files changed, 358 insertions(+), 290 deletions(-) diff --git a/Assets/Prefabs/Player/Player.prefab b/Assets/Prefabs/Player/Player.prefab index 2caff2f..08ccf4e 100644 --- a/Assets/Prefabs/Player/Player.prefab +++ b/Assets/Prefabs/Player/Player.prefab @@ -44,6 +44,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1406796463211946479} + - {fileID: 1710962577221812646} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &2636831972010436653 @@ -374,8 +375,110 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe6ae668d2ff79344bfdd618dd0d962a, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableModalManager - interactableModal: {fileID: 0} - playerInteraction: {fileID: 0} + interactableModal: {fileID: 7317980967521758771} + playerInteraction: {fileID: 8729870597719024730} +--- !u!1 &1862223349553492570 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1710962577221812646} + - component: {fileID: 4118715378939836557} + - component: {fileID: 6270089029744769463} + - component: {fileID: 7906474292064410768} + m_Layer: 9 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1710962577221812646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862223349553492570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3168863418430957925} + m_Father: {fileID: 5887522270574905679} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &4118715378939836557 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862223349553492570} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &6270089029744769463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862223349553492570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &7906474292064410768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862223349553492570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 --- !u!1001 &1445453803682481668 PrefabInstance: m_ObjectHideFlags: 0 @@ -603,3 +706,187 @@ Transform: m_CorrespondingSourceObject: {fileID: -5515783359193845756, guid: 4652a9058e767d142b3e889c2983fa9a, type: 3} m_PrefabInstance: {fileID: 1445453803682481668} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1641106659337571438 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1710962577221812646} + m_Modifications: + - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_SizeDelta.x + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_SizeDelta.x + value: 500 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_SizeDelta.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_AnchoredPosition.y + value: -50 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} + propertyPath: m_Name + value: ModalPanel + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} + insertIndex: -1 + addedObject: {fileID: 7317980967521758771} + m_SourcePrefab: {fileID: 100100000, guid: 274613c415998a647a86a5e09950ce41, type: 3} +--- !u!224 &3168863418430957925 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} + m_PrefabInstance: {fileID: 1641106659337571438} + m_PrefabAsset: {fileID: 0} +--- !u!114 &4193449683656256336 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3239286098141521726, guid: 274613c415998a647a86a5e09950ce41, type: 3} + m_PrefabInstance: {fileID: 1641106659337571438} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI +--- !u!1 &4694931302848755623 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} + m_PrefabInstance: {fileID: 1641106659337571438} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7317980967521758771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4694931302848755623} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7008c42d5ce774d4d894f45b8a80a590, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableModal + modalPanel: {fileID: 4694931302848755623} + keyText: {fileID: 4193449683656256336} + interactText: {fileID: 8795452566802714605} + defaultKey: E +--- !u!114 &8795452566802714605 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7839034454177399683, guid: 274613c415998a647a86a5e09950ce41, type: 3} + m_PrefabInstance: {fileID: 1641106659337571438} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI diff --git a/Assets/Scenes/GameMain.unity b/Assets/Scenes/GameMain.unity index ca352af..07bdf64 100644 --- a/Assets/Scenes/GameMain.unity +++ b/Assets/Scenes/GameMain.unity @@ -1194,17 +1194,6 @@ Transform: m_Children: [] m_Father: {fileID: 576429380} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!114 &790917424 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7839034454177399683, guid: 274613c415998a647a86a5e09950ce41, type: 3} - m_PrefabInstance: {fileID: 3224371285579271499} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI --- !u!1 &860732960 GameObject: m_ObjectHideFlags: 0 @@ -1235,7 +1224,6 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 457600247} - - {fileID: 1527786189} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &908127335 @@ -1779,32 +1767,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 11e3760dda2c0164abf759c18d918893, type: 3} ---- !u!1 &1077899659 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} - m_PrefabInstance: {fileID: 3224371285579271499} - m_PrefabAsset: {fileID: 0} ---- !u!224 &1077899660 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - m_PrefabInstance: {fileID: 3224371285579271499} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1077899665 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1077899659} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7008c42d5ce774d4d894f45b8a80a590, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableModal - modalPanel: {fileID: 1077899659} - keyText: {fileID: 1714106255} - interactText: {fileID: 790917424} - defaultKey: E --- !u!4 &1135136907 stripped Transform: m_CorrespondingSourceObject: {fileID: 3247786716306397435, guid: f395fcc064a3a834ba957327f1387c19, type: 3} @@ -2364,108 +2326,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1458057162} m_CullTransparentMesh: 1 ---- !u!1 &1527786185 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1527786189} - - component: {fileID: 1527786188} - - component: {fileID: 1527786187} - - component: {fileID: 1527786186} - m_Layer: 5 - m_Name: InteractableModalCanvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1527786186 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1527786185} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1527786187 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1527786185} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &1527786188 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1527786185} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 25 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &1527786189 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1527786185} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1077899660} - m_Father: {fileID: 860732961} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} --- !u!1001 &1536695129 PrefabInstance: m_ObjectHideFlags: 0 @@ -2661,17 +2521,6 @@ Transform: m_Children: [] m_Father: {fileID: 640318137} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1714106255 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 3239286098141521726, guid: 274613c415998a647a86a5e09950ce41, type: 3} - m_PrefabInstance: {fileID: 3224371285579271499} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI --- !u!1 &1859567749 GameObject: m_ObjectHideFlags: 0 @@ -3404,138 +3253,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 348c7681306990746bb7cab7a386be1e, type: 3} ---- !u!1001 &3224371285579271499 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 1527786189} - m_Modifications: - - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1325989084779099817, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2331150165244547235, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_SizeDelta.x - value: 200 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_SizeDelta.y - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_AnchoredPosition.y - value: -100 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4412526746668541195, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} - propertyPath: m_Name - value: ModalPanel - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 6332587651613424585, guid: 274613c415998a647a86a5e09950ce41, type: 3} - insertIndex: -1 - addedObject: {fileID: 1077899665} - m_SourcePrefab: {fileID: 100100000, guid: 274613c415998a647a86a5e09950ce41, type: 3} --- !u!1001 &4786254629656932894 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/InteractableModalManager.cs b/Assets/Scripts/InteractableModalManager.cs index a3aa16d..0629a9d 100644 --- a/Assets/Scripts/InteractableModalManager.cs +++ b/Assets/Scripts/InteractableModalManager.cs @@ -1,42 +1,91 @@ using UnityEngine; +using Unity.Netcode; namespace Northbound { public class InteractableModalManager : MonoBehaviour { - [Header("UI Reference")] + [Header("UI Reference (Optional - auto-finds if null)")] public InteractableModal interactableModal; [Header("References")] [SerializeField] private PlayerInteraction playerInteraction; private IInteractable _currentInteractable; + private bool _isEnabled = false; private void Awake() { + Debug.Log($"[InteractableModalManager] Awake called on {gameObject.name}"); + if (playerInteraction == null) { playerInteraction = GetComponent(); + Debug.Log($"[InteractableModalManager] PlayerInteraction: {(playerInteraction != null ? "Found" : "Not Found")}"); } - if (interactableModal == null) - { - interactableModal = FindObjectOfType(); - } + FindModalComponent(); } private void Start() { + Debug.Log($"[InteractableModalManager] Start called on {gameObject.name}"); + + FindModalComponent(); + if (interactableModal != null) { interactableModal.HideModal(); } + else + { + Debug.LogError("[InteractableModalManager] InteractableModal is still null in Start!"); + } + } + + private void FindModalComponent() + { + if (interactableModal != null) + { + Debug.Log($"[InteractableModalManager] InteractableModal already assigned: {interactableModal.gameObject.name}"); + return; + } + + InteractableModal[] modals = GetComponentsInChildren(true); + Debug.Log($"[InteractableModalManager] Found {modals.Length} InteractableModal components in player children"); + + if (modals.Length > 0) + { + interactableModal = modals[0]; + Debug.Log($"[InteractableModalManager] Using InteractableModal on: {interactableModal.gameObject.name}"); + } + else + { + Debug.LogWarning("[InteractableModalManager] InteractableModal not found in player children!"); + } } private void Update() { if (playerInteraction == null) + { + Debug.LogWarning("[InteractableModalManager] Update: playerInteraction is null"); return; + } + + bool isLocalPlayer = IsLocalPlayer(); + + if (!isLocalPlayer) + { + if (_isEnabled) + { + HideModal(); + _isEnabled = false; + } + return; + } + + _isEnabled = true; IInteractable detectedInteractable = GetDetectedInteractable(); @@ -46,10 +95,12 @@ namespace Northbound if (_currentInteractable != null) { + Debug.Log($"[InteractableModalManager] Show modal for interactable"); ShowModal(_currentInteractable); } else { + Debug.Log($"[InteractableModalManager] Hide modal"); HideModal(); } } @@ -59,6 +110,19 @@ namespace Northbound } } + private bool IsLocalPlayer() + { + if (playerInteraction == null) + return false; + + var networkObject = playerInteraction.GetComponent(); + if (networkObject != null) + { + return networkObject.IsOwner; + } + return false; + } + private IInteractable GetDetectedInteractable() { var field = playerInteraction.GetType().GetField("_currentInteractable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);