From efcd7fe23ffafe1690303d72897c258a24f61279 Mon Sep 17 00:00:00 2001 From: SOOBEEN HAN Date: Tue, 27 Jan 2026 16:39:36 +0900 Subject: [PATCH] =?UTF-8?q?[=ED=95=9C=EC=88=98=EB=B9=88]=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=ED=8C=9D=EC=97=85=EC=9D=84=20XRLib=EA=B5=AC?= =?UTF-8?q?=EC=A1=B0=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 26.01.27 - 어떤 팝업이 떠도 배경클릭 안 되는 PopupBlocker 로직 변경 (확장성 고려) - SettingPopup 내의 닫기 버튼 초기화 에러 해결 - PopupBase를 추가하여 팝업 스크립트가 monobehavior대신 PopupBase를 상속받도록 수정 (XRLib 구조) --- .../UI/Prefabs/Template/PopupCanvas.prefab | 474 +++++++++--------- .../Prefabs/Template/PopupCanvas.prefab.meta | 2 +- Assets/Scenes/Template.unity | 276 +++++----- Assets/Scripts/UI/Template/PopupBase.cs | 31 ++ Assets/Scripts/UI/Template/PopupBase.cs.meta | 2 + Assets/Scripts/UI/Template/PopupBlocker.cs | 45 ++ .../Scripts/UI/Template/PopupBlocker.cs.meta | 2 + Assets/Scripts/UI/Template/SettingModal.cs | 35 +- 8 files changed, 450 insertions(+), 417 deletions(-) create mode 100644 Assets/Scripts/UI/Template/PopupBase.cs create mode 100644 Assets/Scripts/UI/Template/PopupBase.cs.meta create mode 100644 Assets/Scripts/UI/Template/PopupBlocker.cs create mode 100644 Assets/Scripts/UI/Template/PopupBlocker.cs.meta diff --git a/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab b/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab index 8474d61b..7599669d 100644 --- a/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab +++ b/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &197318776361346472 +--- !u!1 &2199293479465461110 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,11 +8,11 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3996195448688630305} - - component: {fileID: 1651351909043815839} - - component: {fileID: 8963428626467257383} - - component: {fileID: 3652869079943263847} - - component: {fileID: 5641770228193067275} + - component: {fileID: 8510562543654107283} + - component: {fileID: 5773925494341034306} + - component: {fileID: 7766889905806675773} + - component: {fileID: 3242687454912212252} + - component: {fileID: 7822705752586058404} m_Layer: 5 m_Name: SettingPopup m_TagString: Untagged @@ -20,42 +20,42 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &3996195448688630305 +--- !u!224 &8510562543654107283 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197318776361346472} + m_GameObject: {fileID: 2199293479465461110} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1989692363257273864} - - {fileID: 4305360322069260653} - m_Father: {fileID: 8391968641052467325} + - {fileID: 5233929781709306381} + - {fileID: 5298119072015253449} + m_Father: {fileID: 3621801755209601399} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 960, y: 540} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1651351909043815839 +--- !u!222 &5773925494341034306 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197318776361346472} + m_GameObject: {fileID: 2199293479465461110} m_CullTransparentMesh: 1 ---- !u!114 &8963428626467257383 +--- !u!114 &7766889905806675773 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197318776361346472} + m_GameObject: {fileID: 2199293479465461110} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} @@ -76,13 +76,13 @@ MonoBehaviour: y: 0 width: 1 height: 1 ---- !u!114 &3652869079943263847 +--- !u!114 &3242687454912212252 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197318776361346472} + m_GameObject: {fileID: 2199293479465461110} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} @@ -102,21 +102,20 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 ---- !u!114 &5641770228193067275 +--- !u!114 &7822705752586058404 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 197318776361346472} + m_GameObject: {fileID: 2199293479465461110} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 9a74a8a8417041248bf562b931413f0a, type: 3} m_Name: m_EditorClassIdentifier: - targetPanel: {fileID: 6071521702820182897} - button: {fileID: 1967765435567094189} ---- !u!1 &3248761516811670824 + closeButton: {fileID: 1510261089182438347} +--- !u!1 &3599522892661409117 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -124,62 +123,34 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1989692363257273864} - - component: {fileID: 2201539007707335548} + - component: {fileID: 5298119072015253449} m_Layer: 5 - m_Name: Top + m_Name: Middle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1989692363257273864 +--- !u!224 &5298119072015253449 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3248761516811670824} + m_GameObject: {fileID: 3599522892661409117} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3116599041716881519} - m_Father: {fileID: 3996195448688630305} + m_Children: [] + m_Father: {fileID: 8510562543654107283} 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: 960, y: 65} + m_SizeDelta: {x: 960, y: 475} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2201539007707335548 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3248761516811670824} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 15 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 5 - m_Spacing: 0 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1 &4361484186881236767 +--- !u!1 &4266204314866773624 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -187,10 +158,11 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2053795103180047929} - - component: {fileID: 5345355210070427779} - - component: {fileID: 490406386360128236} - - component: {fileID: 2892854075793580771} + - component: {fileID: 8531693299736791531} + - component: {fileID: 8115199990271309728} + - component: {fileID: 6824261478826280068} + - component: {fileID: 1445655793751824285} + - component: {fileID: 1004994389342369420} m_Layer: 5 m_Name: PopupBlocker m_TagString: Untagged @@ -198,40 +170,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &2053795103180047929 +--- !u!224 &8531693299736791531 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4361484186881236767} + m_GameObject: {fileID: 4266204314866773624} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 8391968641052467325} + m_Father: {fileID: 3621801755209601399} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5345355210070427779 +--- !u!222 &8115199990271309728 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4361484186881236767} + m_GameObject: {fileID: 4266204314866773624} m_CullTransparentMesh: 1 ---- !u!114 &490406386360128236 +--- !u!114 &6824261478826280068 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4361484186881236767} + m_GameObject: {fileID: 4266204314866773624} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -255,19 +227,31 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!225 &2892854075793580771 +--- !u!225 &1445655793751824285 CanvasGroup: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4361484186881236767} + m_GameObject: {fileID: 4266204314866773624} m_Enabled: 1 m_Alpha: 0.7 m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 ---- !u!1 &5484155516772451447 +--- !u!114 &1004994389342369420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4266204314866773624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 36ea5fa9585234c47928d74824886ef1, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::OCTOPUS_TWIN.PopupBlocker +--- !u!1 &5970755152910755303 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -275,10 +259,176 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3116599041716881519} - - component: {fileID: 8449366584920836039} - - component: {fileID: 5168367235136867061} - - component: {fileID: 1967765435567094189} + - component: {fileID: 5233929781709306381} + - component: {fileID: 6584861243207716351} + m_Layer: 5 + m_Name: Top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5233929781709306381 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5970755152910755303} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3034943702056531070} + m_Father: {fileID: 8510562543654107283} + 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: 960, y: 65} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6584861243207716351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5970755152910755303} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 15 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 5 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &8417144980905943870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3621801755209601399} + - component: {fileID: 6000852287495340953} + - component: {fileID: 4207680440966724867} + - component: {fileID: 3889602051221988760} + m_Layer: 0 + m_Name: PopupCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3621801755209601399 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8417144980905943870} + 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: 8531693299736791531} + - {fileID: 8510562543654107283} + m_Father: {fileID: 0} + 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 &6000852287495340953 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8417144980905943870} + 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: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 100 + m_TargetDisplay: 0 +--- !u!114 &4207680440966724867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8417144980905943870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + 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 &3889602051221988760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8417144980905943870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &9071972667463388208 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3034943702056531070} + - component: {fileID: 6282801469597842620} + - component: {fileID: 4981502147077113233} + - component: {fileID: 1510261089182438347} m_Layer: 5 m_Name: CloseButton m_TagString: Untagged @@ -286,40 +436,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &3116599041716881519 +--- !u!224 &3034943702056531070 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5484155516772451447} + m_GameObject: {fileID: 9071972667463388208} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1989692363257273864} + m_Father: {fileID: 5233929781709306381} 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: 25, y: 25} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8449366584920836039 +--- !u!222 &6282801469597842620 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5484155516772451447} + m_GameObject: {fileID: 9071972667463388208} m_CullTransparentMesh: 1 ---- !u!114 &5168367235136867061 +--- !u!114 &4981502147077113233 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5484155516772451447} + m_GameObject: {fileID: 9071972667463388208} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -343,13 +493,13 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &1967765435567094189 +--- !u!114 &1510261089182438347 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5484155516772451447} + m_GameObject: {fileID: 9071972667463388208} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} @@ -383,157 +533,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 5168367235136867061} + m_TargetGraphic: {fileID: 4981502147077113233} m_OnClick: m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 5641770228193067275} - m_TargetAssemblyTypeName: OCTOPUS_TWIN.SettingModal, Assembly-CSharp - m_MethodName: Execute - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!1 &6071521702820182897 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8391968641052467325} - - component: {fileID: 9197990204563836845} - - component: {fileID: 6963926339225806842} - - component: {fileID: 4207574658575572893} - m_Layer: 0 - m_Name: PopupCanvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8391968641052467325 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6071521702820182897} - 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: 2053795103180047929} - - {fileID: 3996195448688630305} - m_Father: {fileID: 0} - 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 &9197990204563836845 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6071521702820182897} - 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: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 100 - m_TargetDisplay: 0 ---- !u!114 &6963926339225806842 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6071521702820182897} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - 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 &4207574658575572893 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6071521702820182897} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!1 &7359897648991349689 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4305360322069260653} - m_Layer: 5 - m_Name: Middle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4305360322069260653 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7359897648991349689} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3996195448688630305} - 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: 960, y: 475} - m_Pivot: {x: 0.5, y: 0.5} + m_Calls: [] diff --git a/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab.meta b/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab.meta index 4b7fa2ef..0d2fb0aa 100644 --- a/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab.meta +++ b/Assets/Resources/UI/Prefabs/Template/PopupCanvas.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e315aaac47e24dd40b53f994f03f2953 +guid: 3804ac88f6f82654da21b9989abd4039 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Scenes/Template.unity b/Assets/Scenes/Template.unity index cec0c126..e9aca316 100644 --- a/Assets/Scenes/Template.unity +++ b/Assets/Scenes/Template.unity @@ -119,11 +119,6 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &129766582 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 6071521702820182897, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - m_PrefabInstance: {fileID: 4852117563889815894} - m_PrefabAsset: {fileID: 0} --- !u!1001 &148154827 PrefabInstance: m_ObjectHideFlags: 0 @@ -274,6 +269,124 @@ Transform: m_CorrespondingSourceObject: {fileID: 8063966845845817783, guid: 02de84299dbbd354fa8fe07b680d5d8c, type: 3} m_PrefabInstance: {fileID: 148154827} m_PrefabAsset: {fileID: 0} +--- !u!1001 &189991503 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 3034943702056531070, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3034943702056531070, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3034943702056531070, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3034943702056531070, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_Pivot.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3621801755209601399, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8417144980905943870, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + propertyPath: m_Name + value: PopupCanvas + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} +--- !u!1 &189991504 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2199293479465461110, guid: 3804ac88f6f82654da21b9989abd4039, type: 3} + m_PrefabInstance: {fileID: 189991503} + m_PrefabAsset: {fileID: 0} --- !u!1 &728903077 GameObject: m_ObjectHideFlags: 0 @@ -890,7 +1003,7 @@ PrefabInstance: - target: {fileID: 6805993377633860723, guid: 3217095c2a9735f4197545b71963d102, type: 3} propertyPath: targetPanel value: - objectReference: {fileID: 129766582} + objectReference: {fileID: 189991504} - target: {fileID: 8898587504834603356, guid: 3217095c2a9735f4197545b71963d102, type: 3} propertyPath: m_AnchorMax.y value: 0 @@ -912,155 +1025,6 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 3217095c2a9735f4197545b71963d102, type: 3} ---- !u!1001 &4852117563889815894 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1989692363257273864, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1989692363257273864, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1989692363257273864, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1989692363257273864, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3116599041716881519, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3116599041716881519, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3116599041716881519, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3116599041716881519, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4305360322069260653, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4305360322069260653, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4305360322069260653, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4305360322069260653, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6071521702820182897, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_Name - value: PopupCanvas - objectReference: {fileID: 0} - - target: {fileID: 6071521702820182897, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_Pivot.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_Pivot.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMax.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMax.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMin.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchorMin.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_SizeDelta.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_SizeDelta.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8391968641052467325, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e315aaac47e24dd40b53f994f03f2953, type: 3} --- !u!1001 &6505895138668233772 PrefabInstance: m_ObjectHideFlags: 0 @@ -1288,4 +1252,4 @@ SceneRoots: - {fileID: 1365505113} - {fileID: 728903078} - {fileID: 2739205185435380180} - - {fileID: 4852117563889815894} + - {fileID: 189991503} diff --git a/Assets/Scripts/UI/Template/PopupBase.cs b/Assets/Scripts/UI/Template/PopupBase.cs new file mode 100644 index 00000000..b1c80e23 --- /dev/null +++ b/Assets/Scripts/UI/Template/PopupBase.cs @@ -0,0 +1,31 @@ +using UnityEngine; + +namespace OCTOPUS_TWIN +{ + public class PopupBase : MonoBehaviour + { + // ˾ ڵ + protected virtual void OnEnable() + { + if (PopupBlocker.Instance != null) + { + PopupBlocker.Instance.Show(); + } + } + + // ˾ ڵ + protected virtual void OnDisable() + { + if (PopupBlocker.Instance != null) + { + PopupBlocker.Instance.Hide(); + } + } + + // : ݱ Լ + public virtual void ClosePopup() + { + gameObject.SetActive(false); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Template/PopupBase.cs.meta b/Assets/Scripts/UI/Template/PopupBase.cs.meta new file mode 100644 index 00000000..b1f57775 --- /dev/null +++ b/Assets/Scripts/UI/Template/PopupBase.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 81ae9f0cc38595b4ebe90c61c0942f66 \ No newline at end of file diff --git a/Assets/Scripts/UI/Template/PopupBlocker.cs b/Assets/Scripts/UI/Template/PopupBlocker.cs new file mode 100644 index 00000000..3cef16f5 --- /dev/null +++ b/Assets/Scripts/UI/Template/PopupBlocker.cs @@ -0,0 +1,45 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace OCTOPUS_TWIN +{ + public class PopupBlocker : MonoBehaviour + { + public static PopupBlocker Instance { get; private set; } + + private int activePopupCount = 0; // ˾ + + private void Awake() + { + // ̱ + if (Instance == null) Instance = this; + else Destroy(gameObject); + + // α + gameObject.SetActive(false); + activePopupCount = 0; + } + + // ˾ ȣ + public void Show() + { + activePopupCount++; + gameObject.SetActive(true); + } + + // ˾ ȣ + public void Hide() + { + activePopupCount--; + + // ʵ + if (activePopupCount < 0) activePopupCount = 0; + + // ˾ ϳ Blocker + if (activePopupCount == 0) + { + gameObject.SetActive(false); + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Template/PopupBlocker.cs.meta b/Assets/Scripts/UI/Template/PopupBlocker.cs.meta new file mode 100644 index 00000000..76614eda --- /dev/null +++ b/Assets/Scripts/UI/Template/PopupBlocker.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 36ea5fa9585234c47928d74824886ef1 \ No newline at end of file diff --git a/Assets/Scripts/UI/Template/SettingModal.cs b/Assets/Scripts/UI/Template/SettingModal.cs index 0ef9ac04..2e725750 100644 --- a/Assets/Scripts/UI/Template/SettingModal.cs +++ b/Assets/Scripts/UI/Template/SettingModal.cs @@ -1,38 +1,27 @@ +// TODO. ׸ TabController ߰ (XRLib ) using UnityEngine; using UnityEngine.UI; namespace OCTOPUS_TWIN { - public class SettingModal : MonoBehaviour + public class SettingPopup : PopupBase { - // TODO. ׸ TabController ߰ (XRLib ) - - // ӽ÷ â ݴ ư --- - [Header("Target UI")] - [SerializeField] private GameObject targetPanel; - - public Button button; - - private void Awake() - { - button = GetComponent