모달 UI가 각 플레이어 별로 동작하도록 함

This commit is contained in:
2026-02-04 18:46:46 +09:00
parent 4bd46b2a0a
commit 2bb4797ec5
3 changed files with 358 additions and 290 deletions

View File

@@ -44,6 +44,7 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1406796463211946479} - {fileID: 1406796463211946479}
- {fileID: 1710962577221812646}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2636831972010436653 --- !u!114 &2636831972010436653
@@ -374,8 +375,110 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe6ae668d2ff79344bfdd618dd0d962a, type: 3} m_Script: {fileID: 11500000, guid: fe6ae668d2ff79344bfdd618dd0d962a, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableModalManager m_EditorClassIdentifier: Assembly-CSharp::Northbound.InteractableModalManager
interactableModal: {fileID: 0} interactableModal: {fileID: 7317980967521758771}
playerInteraction: {fileID: 0} 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 --- !u!1001 &1445453803682481668
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -603,3 +706,187 @@ Transform:
m_CorrespondingSourceObject: {fileID: -5515783359193845756, guid: 4652a9058e767d142b3e889c2983fa9a, type: 3} m_CorrespondingSourceObject: {fileID: -5515783359193845756, guid: 4652a9058e767d142b3e889c2983fa9a, type: 3}
m_PrefabInstance: {fileID: 1445453803682481668} m_PrefabInstance: {fileID: 1445453803682481668}
m_PrefabAsset: {fileID: 0} 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

View File

@@ -1194,17 +1194,6 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 576429380} m_Father: {fileID: 576429380}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 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 --- !u!1 &860732960
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -1235,7 +1224,6 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 457600247} - {fileID: 457600247}
- {fileID: 1527786189}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &908127335 --- !u!1 &908127335
@@ -1779,32 +1767,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 11e3760dda2c0164abf759c18d918893, type: 3} 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 --- !u!4 &1135136907 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 3247786716306397435, guid: f395fcc064a3a834ba957327f1387c19, type: 3} m_CorrespondingSourceObject: {fileID: 3247786716306397435, guid: f395fcc064a3a834ba957327f1387c19, type: 3}
@@ -2364,108 +2326,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1458057162} m_GameObject: {fileID: 1458057162}
m_CullTransparentMesh: 1 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 --- !u!1001 &1536695129
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2661,17 +2521,6 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 640318137} m_Father: {fileID: 640318137}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 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 --- !u!1 &1859567749
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -3404,138 +3253,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 348c7681306990746bb7cab7a386be1e, type: 3} 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 --- !u!1001 &4786254629656932894
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@@ -1,42 +1,91 @@
using UnityEngine; using UnityEngine;
using Unity.Netcode;
namespace Northbound namespace Northbound
{ {
public class InteractableModalManager : MonoBehaviour public class InteractableModalManager : MonoBehaviour
{ {
[Header("UI Reference")] [Header("UI Reference (Optional - auto-finds if null)")]
public InteractableModal interactableModal; public InteractableModal interactableModal;
[Header("References")] [Header("References")]
[SerializeField] private PlayerInteraction playerInteraction; [SerializeField] private PlayerInteraction playerInteraction;
private IInteractable _currentInteractable; private IInteractable _currentInteractable;
private bool _isEnabled = false;
private void Awake() private void Awake()
{ {
Debug.Log($"[InteractableModalManager] Awake called on {gameObject.name}");
if (playerInteraction == null) if (playerInteraction == null)
{ {
playerInteraction = GetComponent<PlayerInteraction>(); playerInteraction = GetComponent<PlayerInteraction>();
Debug.Log($"[InteractableModalManager] PlayerInteraction: {(playerInteraction != null ? "Found" : "Not Found")}");
} }
if (interactableModal == null) FindModalComponent();
{
interactableModal = FindObjectOfType<InteractableModal>();
}
} }
private void Start() private void Start()
{ {
Debug.Log($"[InteractableModalManager] Start called on {gameObject.name}");
FindModalComponent();
if (interactableModal != null) if (interactableModal != null)
{ {
interactableModal.HideModal(); 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<InteractableModal>(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() private void Update()
{ {
if (playerInteraction == null) if (playerInteraction == null)
{
Debug.LogWarning("[InteractableModalManager] Update: playerInteraction is null");
return; return;
}
bool isLocalPlayer = IsLocalPlayer();
if (!isLocalPlayer)
{
if (_isEnabled)
{
HideModal();
_isEnabled = false;
}
return;
}
_isEnabled = true;
IInteractable detectedInteractable = GetDetectedInteractable(); IInteractable detectedInteractable = GetDetectedInteractable();
@@ -46,10 +95,12 @@ namespace Northbound
if (_currentInteractable != null) if (_currentInteractable != null)
{ {
Debug.Log($"[InteractableModalManager] Show modal for interactable");
ShowModal(_currentInteractable); ShowModal(_currentInteractable);
} }
else else
{ {
Debug.Log($"[InteractableModalManager] Hide modal");
HideModal(); HideModal();
} }
} }
@@ -59,6 +110,19 @@ namespace Northbound
} }
} }
private bool IsLocalPlayer()
{
if (playerInteraction == null)
return false;
var networkObject = playerInteraction.GetComponent<Unity.Netcode.NetworkObject>();
if (networkObject != null)
{
return networkObject.IsOwner;
}
return false;
}
private IInteractable GetDetectedInteractable() private IInteractable GetDetectedInteractable()
{ {
var field = playerInteraction.GetType().GetField("_currentInteractable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); var field = playerInteraction.GetType().GetField("_currentInteractable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);