20250905 UI 강의

This commit is contained in:
seonkyu.kim 2025-09-05 16:04:55 +09:00
parent a2281011f0
commit 4594dece99
92 changed files with 20856 additions and 5806 deletions

View File

@ -47,6 +47,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_TextEventHandler.cs" />
<Compile Include="Assets/Scripts/Utils/Extension.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/EnvMapAnimator.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_TextSelector_A.cs" />
<Compile Include="Assets/Scripts/TestCollision.cs" />
@ -59,12 +60,15 @@
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/VertexJitter.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_UiFrameRateCounter.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/VertexZoom.cs" />
<Compile Include="Assets/Scripts/UI/UI_Base.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_TextSelector_B.cs" />
<Compile Include="Assets/Scripts/Managers/UIManager.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/SkewTextExample.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/WarpTextExample.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/ShaderPropAnimator.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_TextInfoDebugTool.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/VertexShakeA.cs" />
<Compile Include="Assets/Scripts/UI/Popup/UI_Popup.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/Benchmark01_UGUI.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/SimpleScript.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/Benchmark04.cs" />
@ -73,10 +77,10 @@
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_FrameRateCounter.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/Benchmark01.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TextMeshSpawner.cs" />
<Compile Include="Assets/Scripts/UI/Popup/UI_Button.cs" />
<Compile Include="Assets/Scripts/Managers/Managers.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/CameraController.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/Benchmark03.cs" />
<Compile Include="Assets/Scripts/UI/UI_Button.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/DropdownSample.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/VertexColorCycler.cs" />
<Compile Include="Assets/Scripts/Managers/ResourceManager.cs" />
@ -89,6 +93,8 @@
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TMP_TextEventCheck.cs" />
<Compile Include="Assets/Scripts/Utils/Define.cs" />
<Compile Include="Assets/TextMesh Pro/Examples &amp; Extras/Scripts/TextMeshProFloatingText.cs" />
<Compile Include="Assets/Scripts/UI/UI_EventHandler.cs" />
<Compile Include="Assets/Scripts/UI/Scene/UI_Scene.cs" />
<None Include="Assets/Resources/Art/UnityChan/Shader/Unitychan_chara_fuku.shader" />
<None Include="Assets/TextMesh Pro/Shaders/TMPro.cginc" />
<None Include="Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader" />

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d5332aff4cffc42e391052712f16c7ba
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,6 +1,6 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &674762471991741976
--- !u!1 &78949930531875600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -8,9 +8,9 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4052284149151321047}
- component: {fileID: 6325019583860280034}
- component: {fileID: 672814883393364380}
- component: {fileID: 4700246123710337536}
- component: {fileID: 1303652153787209091}
- component: {fileID: 396838367895134598}
m_Layer: 5
m_Name: ScoreText
m_TagString: Untagged
@ -18,40 +18,40 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4052284149151321047
--- !u!224 &4700246123710337536
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674762471991741976}
m_GameObject: {fileID: 78949930531875600}
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: 3769451323824981832}
m_Father: {fileID: 7456765302686930532}
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: -336, y: 163}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6325019583860280034
--- !u!222 &1303652153787209091
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674762471991741976}
m_GameObject: {fileID: 78949930531875600}
m_CullTransparentMesh: 1
--- !u!114 &672814883393364380
--- !u!114 &396838367895134598
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 674762471991741976}
m_GameObject: {fileID: 78949930531875600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
@ -136,7 +136,7 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &1783748317587288301
--- !u!1 &2209439117487879149
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -144,67 +144,65 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5972707328687814934}
- component: {fileID: 2356163868981715117}
- component: {fileID: 7198302959039025284}
- component: {fileID: 2097030193274746975}
- component: {fileID: 354089615135764141}
- component: {fileID: 5917755496447864375}
- component: {fileID: 8220238413826132129}
m_Layer: 5
m_Name: PointButton
m_Name: BackGround
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5972707328687814934
--- !u!224 &354089615135764141
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1783748317587288301}
m_GameObject: {fileID: 2209439117487879149}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 2, z: 1}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5907853365701265717}
m_Father: {fileID: 3769451323824981832}
m_Children: []
m_Father: {fileID: 7456765302686930532}
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_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2356163868981715117
--- !u!222 &5917755496447864375
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1783748317587288301}
m_GameObject: {fileID: 2209439117487879149}
m_CullTransparentMesh: 1
--- !u!114 &7198302959039025284
--- !u!114 &8220238413826132129
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1783748317587288301}
m_GameObject: {fileID: 2209439117487879149}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 0, g: 0, b: 0, a: 0.25490198}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
@ -213,51 +211,7 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &2097030193274746975
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1783748317587288301}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 7198302959039025284}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &2849477420388522791
--- !u!1 &2858428557132539339
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -265,125 +219,9 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3769451323824981832}
- component: {fileID: 1028472230285735111}
- component: {fileID: 1246705963093010833}
- component: {fileID: 8471271639590562837}
- component: {fileID: 1266821968961854940}
m_Layer: 5
m_Name: UI_Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3769451323824981832
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849477420388522791}
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: 5972707328687814934}
- {fileID: 4052284149151321047}
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 &1028472230285735111
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849477420388522791}
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 &1246705963093010833
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849477420388522791}
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 &8471271639590562837
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849477420388522791}
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!114 &1266821968961854940
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2849477420388522791}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abc041b7564ef4eebb9c3e4334f6f47e, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &7372851838468764625
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5907853365701265717}
- component: {fileID: 6057301591724748895}
- component: {fileID: 6785106383967977823}
- component: {fileID: 9079849633160232602}
- component: {fileID: 2324172799363411686}
- component: {fileID: 4043005522759585965}
m_Layer: 5
m_Name: PointText
m_TagString: Untagged
@ -391,40 +229,40 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5907853365701265717
--- !u!224 &9079849633160232602
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7372851838468764625}
m_GameObject: {fileID: 2858428557132539339}
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: 5972707328687814934}
m_Father: {fileID: 2781386551948675817}
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 &6057301591724748895
--- !u!222 &2324172799363411686
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7372851838468764625}
m_GameObject: {fileID: 2858428557132539339}
m_CullTransparentMesh: 1
--- !u!114 &6785106383967977823
--- !u!114 &4043005522759585965
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7372851838468764625}
m_GameObject: {fileID: 2858428557132539339}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
@ -509,3 +347,273 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3539530894510243829
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7859937702717700359}
m_Layer: 0
m_Name: TestObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7859937702717700359
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3539530894510243829}
serializedVersion: 2
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: 7456765302686930532}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4140392046085078881
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2781386551948675817}
- component: {fileID: 4005906368228367610}
- component: {fileID: 5515945585222581362}
- component: {fileID: 9095414415076227529}
m_Layer: 5
m_Name: PointButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2781386551948675817
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4140392046085078881}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 2, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 9079849633160232602}
m_Father: {fileID: 7456765302686930532}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4005906368228367610
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4140392046085078881}
m_CullTransparentMesh: 1
--- !u!114 &5515945585222581362
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4140392046085078881}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &9095414415076227529
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4140392046085078881}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 5515945585222581362}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6202759135387968287
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7456765302686930532}
- component: {fileID: 8322633274733099189}
- component: {fileID: 8721510664381681934}
- component: {fileID: 1424638479575322043}
- component: {fileID: 2122694503371422182}
m_Layer: 5
m_Name: UI_Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7456765302686930532
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6202759135387968287}
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: 354089615135764141}
- {fileID: 2781386551948675817}
- {fileID: 4700246123710337536}
- {fileID: 7859937702717700359}
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 &8322633274733099189
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6202759135387968287}
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 &8721510664381681934
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6202759135387968287}
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 &1424638479575322043
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6202759135387968287}
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!114 &2122694503371422182
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6202759135387968287}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: abc041b7564ef4eebb9c3e4334f6f47e, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 489bb3e689b6c4447aa3628a4ce6e630
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -646,103 +646,6 @@ MonoBehaviour:
m_ShadowLayerMask: 1
m_RenderingLayers: 1
m_ShadowRenderingLayers: 1
--- !u!1001 &677529435
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 2849477420388522791, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Name
value: UI_Button
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3769451323824981832, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
--- !u!1 &974943946
GameObject:
m_ObjectHideFlags: 0
@ -994,6 +897,103 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 7501193224381712437, guid: b0bf65c01867c483eb12667c812faa21, type: 3}
m_PrefabInstance: {fileID: 254139698}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &126475999013816968
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 6202759135387968287, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Name
value: UI_Button
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Pivot.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_Pivot.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7456765302686930532, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 17dd0c4bd3a4d4486b8c356f40ed5fd4, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -1005,4 +1005,4 @@ SceneRoots:
- {fileID: 132719926}
- {fileID: 1085473719}
- {fileID: 86325471}
- {fileID: 677529435}
- {fileID: 126475999013816968}

View File

@ -8,13 +8,13 @@ public class PlayerController : MonoBehaviour
private Vector3 _destPos;
public enum PlayerState
{
Idle,
Move,
Die
}
PlayerState _playerState = PlayerState.Idle;
void Start()
@ -24,7 +24,13 @@ public class PlayerController : MonoBehaviour
Managers.Input.MouseAction -= OnMouseClicked;
Managers.Input.MouseAction += OnMouseClicked;
Managers.Resource.Instantiate("UI/UI_Button");
// Managers.Resource.Instantiate("UI/UI_Button");
// Managers.UI.ShowPopupUI<UI_Button>("UI_Button");
// Managers.UI.ClosePopupUI();
//이게 안정 버전
// UI_Button button = Managers.UI.ShowPopupUI<UI_Button>("UI_Button");
// Managers.UI.ClosePopupUI(button);
}

View File

@ -9,6 +9,7 @@ public class InputManager
bool _pressed = false;
// ReSharper disable Unity.PerformanceAnalysis
public void OnUpdate()
{
// if(Input.anyKey == false) return;

View File

@ -8,10 +8,12 @@ public class Managers : MonoBehaviour
InputManager _input = new InputManager();
ResourceManager _resource = new ResourceManager();
UIManager _ui = new UIManager();
public static InputManager Input { get { return Instance._input; } }
public static ResourceManager Resource { get { return Instance._resource; } }
public static UIManager UI { get { return Instance._ui; } }
static void init()
{
if (s_instance == null)
@ -30,7 +32,7 @@ public class Managers : MonoBehaviour
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
// init();
init();
}
// Update is called once per frame

View File

@ -0,0 +1,114 @@
using System.Collections.Generic;
using UnityEngine;
public class UIManager
{
// UIManager 를 왜 만들어? == Canvas의 Sort Order 관리하기 위해서 만든다.
// PopUP을 위해서 관리를 하는거고 PopUP은 Stack 구조로 관리하는게 좋다.
// 그리고 소팅 안하는 씬같은 경우 오더의 수가 0으로 고정을 해놨기에 오더의 초기값을 0이 아닌 다른값으로 하는게 좋다.
// 10으로 하는건 혹시나 0~9를 앞에서 사용하게 하거나 먼저 띄우고 싶은게 있을 수 있으니 비워둔다.
int _order = 10;
Stack<UI_Popup> _popupStack = new Stack<UI_Popup>();
UI_Scene _sceneUI = null;
// 그냥 Popup을 계속 띄우게 되면 이게 플레이 씬 볼때 굉장히 복잡하게 나타나는대 이걸 빈 게임 오브젝트를 만들어서 관리하게 한다.
// 약간 폴더 같은 느낌이라 보면 된다.
public GameObject Root
{
get
{
GameObject root = GameObject.Find("@UI_Root");
if (root == null) { root = new GameObject { name = "@UI_Root" }; }
return root;
}
}
// 이게 위치하는 곳은 UI_Scene와 UI_Popup의 시작부분에 위치해야 한다.
public void SetCanvas(GameObject go, bool sort = true)
{
Canvas canvas = Util.GetOrAddComponent<Canvas>(go);
canvas.renderMode = RenderMode.ScreenSpaceOverlay;
// 캔버스 안에 캔버스가 있을때 그게 어떤 값을 가지고 있어도 내껀 내꺼다 라는 옵션이다.
canvas.overrideSorting = true;
if (sort)
canvas.sortingOrder = _order++;
else
canvas.sortingOrder = 0;
// UI가 이벤트를 받으려면 반드시 필요
Util.GetOrAddComponent<UnityEngine.UI.GraphicRaycaster>(go);
}
// name = 프리팹의 의 이름
// 인자로 받는 T = 스크립트의 이름
public T ShowPopupUI<T>(string name = null) where T : UI_Popup
{
if (string.IsNullOrEmpty(name)) name = typeof(T).Name;
// Resources/Prefabs/UI/Popup/폴더에서 name과 일치하는 프리팹을 로드한다.
GameObject go = Managers.Resource.Instantiate($"UI/Popup/{name}");
T popup = Util.GetOrAddComponent<T>(go);
_popupStack.Push(popup);
// 그냥 order++ 하면 1,2,3,4,5 ... 이렇게 올라가는데 중요한건 이 방법을 통하지 않고
// 그냥 유니티에서 바로 씬에 오브젝트를 올려 버리면 이 오더값이 꼬일 수 있다.
// 그래서 여기에서 바로 넣는게 아니라 UI_Popup에서 바로 초기화해서 확인하게 하는게 좋다.
go.transform.SetParent(Root.transform);
return popup;
}
public void ClosePopupUI()
{
if (_popupStack.Count == 0) return;
UI_Popup popup = _popupStack.Pop();
Managers.Resource.Destroy(popup.gameObject);
// 삭제 했는데 접근하면 안되니까 이제 이 값을 날려서 접근자체를 막아 버리기
popup = null;
_order--;
}
// 스택이라 마지막이 날아가야 하는데 혹시나 아닐 경우 체크하는 버전
public void ClosePopupUI(UI_Popup popup)
{
if (_popupStack.Count == 0) return;
if (_popupStack.Peek() != popup)
{
Debug.Log("Close Popup Failed!");
return;
}
ClosePopupUI();
}
public void CloseAllPopupUI()
{
while (_popupStack.Count > 0)
ClosePopupUI();
}
public T ShowSceneUI<T>(string name = null) where T : UI_Scene
{
if (string.IsNullOrEmpty(name)) name = typeof(T).Name;
GameObject go = Managers.Resource.Instantiate($"UI/Scene/{name}");
T scene = Util.GetOrAddComponent<T>(go);
_sceneUI = scene;
go.transform.SetParent(Root.transform);
return scene;
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a3eb58c4687274e1ca533b6479321dcf

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4445627f7958d41219f688eb468e779d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,77 @@
using System;
using System.Collections.Generic;
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Object = UnityEngine.Object;
public class UI_Button : UI_Popup
{
enum Buttons
{
PointButton
}
enum Texts
{
PointText,
ScoreText
}
enum GameObjects
{
TestObject,
}
enum Images
{
ItemIcon
}
private void Start()
{
Init();
}
public override void Init()
{
// 내 부모의 Init() 호출
base.Init();
Bind<Button>(typeof(Buttons));
Bind<TextMeshProUGUI>(typeof(Texts));
Bind<GameObject>(typeof(GameObjects));
Bind<Image>(typeof(Images));
// GetText((int)Texts.ScoreText).text = "Bind Text";
/*
// 당장 이미지를 받아 올게 아니라 이미지 오브젝트에 스크립트 컴포넌트를 추가하거나
// 이미 있다면 이벤트 연동하기 위해서 게임오브젝트로 받아온다.
GameObject go = GetImage((int)Images.ItemIcon).gameObject;
UI_EventHandler evt = go.GetComponent<UI_EventHandler>();
// 이 아래에서 만약 람다 내부에 오브젝트를 이렇게 transform.position 받아오면 이건 이미지의 transform이 아니라,
// UI_Button 이 가지고 있는 transform이 된다. 그래서 evt.gameObject.transform.position 으로 받아와야 한다.
evt.OnDragHandler += ((PointerEventData data) => { evt.gameObject.transform.position = data.position; });
*/
// 위의 부분을 조금 더 간략하게 만들기 위해 공통단으로 보내고 이것저것 한게 아래다.
GameObject go = GetImage((int)Images.ItemIcon).gameObject;
AddUIEvent(go,(PointerEventData data) => { go.transform.position = data.position; }, Define.UIEvent.Drag);
// 이게 위에같이 2줄로 나눠서 해도 되는데 익스텐션 메서드를 만들어서 하는 방법이 있는데 Extension.cs 참고
GetButton((int)Buttons.PointButton).gameObject.AddUIEvent(OnButtonClicked);
}
int _score = 0;
public void OnButtonClicked(PointerEventData eventData)
{
_score++;
Debug.Log("Button Clicked");
GetText((int)Texts.ScoreText).text = $"점수: {_score}점";
}
}

View File

@ -0,0 +1,15 @@
using UnityEngine;
public class UI_Popup : UI_Base
{
// 뭐든 start에서 초기화 하는게 아니라 이걸로 초기화 한다.
public virtual void Init()
{
Managers.UI.SetCanvas(gameObject, true);
}
public virtual void ClosePopUI()
{
Managers.UI.ClosePopupUI(this);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 763c848c5927043d38e8b78948b82a34

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 666e17d93ae9c4dcbb7b931c92f23bbf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
using UnityEngine;
public class UI_Scene : UI_Base
{
public virtual void Init()
{
Managers.UI.SetCanvas(gameObject, false);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: db84338cd12104c819144f8f2d4a0408

View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using Object = UnityEngine.Object;
public class UI_Base : MonoBehaviour
{
Dictionary<Type, Object[]> _objects = new Dictionary<Type, Object[]>();
protected void Bind<T>(Type type) where T : Object
{
string[] names = Enum.GetNames(type);
Object[] objects = new Object[names.Length];
_objects.Add(typeof(T), objects);
for (int i = 0; i < names.Length; i++)
{
if(typeof(T) == typeof(GameObject))
{
objects[i] = Util.FindChild(gameObject, names[i],true);
}
else
{
objects[i] = Util.FindChild<T>(gameObject, names[i],true);
}
}
}
protected T Get<T>(int idx) where T : Object
{
Object[] objects = null;
if (_objects.TryGetValue(typeof(T), out objects) == false || idx < 0 || idx >= objects.Length)
return null;
return objects[idx] as T;
}
protected TextMeshProUGUI GetText(int idx) { return Get<TextMeshProUGUI>(idx); }
protected Button GetButton(int idx) { return Get<Button>(idx); }
protected Image GetImage(int idx) { return Get<Image>(idx); }
public static void AddUIEvent(GameObject go, Action<PointerEventData> action, Define.UIEvent type = Define.UIEvent.Click)
{
UI_EventHandler evt = Util.GetOrAddComponent<UI_EventHandler>(go);
switch (type)
{
case Define.UIEvent.Click:
evt.OnClickHandler -= action;
evt.OnClickHandler += action;
break;
case Define.UIEvent.Drag:
evt.OnDragHandler -= action;
evt.OnDragHandler += action;
break;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 343ee772c8b7f49a9927d998e3858dd6

View File

@ -1,60 +0,0 @@
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Object = UnityEngine.Object;
public class UI_Button : MonoBehaviour
{
Dictionary<Type, Object[]> _objects = new Dictionary<Type, Object[]>();
enum Buttons
{
PointButton
}
enum Texts
{
PointText,
ScoreText
}
private void Start()
{
Bind<Button>(typeof(Buttons));
Bind<TextMeshProUGUI>(typeof(Texts));
Get<TextMeshProUGUI>((int)Texts.ScoreText).text = "Bind Text";
}
void Bind<T>(Type type) where T : UnityEngine.Object
{
string[] names = Enum.GetNames(type);
UnityEngine.Object[] objects = new UnityEngine.Object[names.Length];
_objects.Add(typeof(T), objects);
for (int i = 0; i < names.Length; i++)
{
objects[i] = Util.FindChild<T>(gameObject, names[i],true);
}
}
T Get<T>(int idx) where T : UnityEngine.Object
{
UnityEngine.Object[] objects = null;
if (_objects.TryGetValue(typeof(T), out objects) == false || idx < 0 || idx >= objects.Length)
return null;
return objects[idx] as T;
}
int _score = 0;
public void onButtonClicked()
{
_score++;
Debug.Log("Button Clicked");
// _text.text = $"점수: {_score}점";
}
}

View File

@ -0,0 +1,22 @@
using System;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.EventSystems;
public class UI_EventHandler : MonoBehaviour, IDragHandler, IPointerClickHandler
{
public Action<PointerEventData> OnClickHandler = null;
public Action<PointerEventData> OnDragHandler = null;
public void OnPointerClick(PointerEventData eventData)
{
if (OnClickHandler != null) OnClickHandler.Invoke(eventData);
}
public void OnDrag(PointerEventData eventData)
{
if (OnDragHandler != null) OnDragHandler.Invoke(eventData);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 96fab8106041a494985a87525953b1d6

View File

@ -2,6 +2,11 @@ using UnityEngine;
public class Define
{
public enum UIEvent
{
Click,
Drag,
}
public enum CameraMode
{
QuarterView,

View File

@ -0,0 +1,13 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public static class Extension
{
public static void AddUIEvent(this GameObject go, Action<PointerEventData> action, Define.UIEvent type = Define.UIEvent.Click)
{
UI_Base.AddUIEvent(go, action, type);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8986f3228c2214fe18ca0aa21a1b98ca

View File

@ -33,4 +33,20 @@ public class Util
return null;
}
// GameObject를 찾는 용도
public static GameObject FindChild(GameObject go, string name = null, bool recursive = false)
{
Transform transform = FindChild<Transform>(go, name, recursive);
if (transform == null) return null;
return transform.gameObject;
}
public static T GetOrAddComponent<T>(GameObject go) where T : Component
{
T component = go.GetComponent<T>();
if (component == null) component = go.AddComponent<T>();
return component;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -80761,7 +80761,7 @@
"DisplayName": "Writing Assembly-CSharp.rsp",
"ActionType": "WriteFile",
"PayloadOffset": 3684094,
"PayloadLength": 43339,
"PayloadLength": 43566,
"PayloadDebugContentSnippet": "-target:library\n-out:\"Library/",
"Inputs": [],
"InputFlags": [],
@ -80777,7 +80777,7 @@
"Annotation": "WriteText Library/Bee/artifacts/200b0aEDbg.dag/Assembly-CSharp.rsp2",
"DisplayName": "Writing Assembly-CSharp.rsp2",
"ActionType": "WriteFile",
"PayloadOffset": 3727522,
"PayloadOffset": 3727749,
"PayloadLength": 0,
"PayloadDebugContentSnippet": "",
"Inputs": [],
@ -81098,9 +81098,15 @@
"Assets/Scripts/Managers/InputManager.cs",
"Assets/Scripts/Managers/Managers.cs",
"Assets/Scripts/Managers/ResourceManager.cs",
"Assets/Scripts/Managers/UIManager.cs",
"Assets/Scripts/TestCollision.cs",
"Assets/Scripts/UI/UI_Button.cs",
"Assets/Scripts/UI/Popup/UI_Button.cs",
"Assets/Scripts/UI/Popup/UI_Popup.cs",
"Assets/Scripts/UI/Scene/UI_Scene.cs",
"Assets/Scripts/UI/UI_Base.cs",
"Assets/Scripts/UI/UI_EventHandler.cs",
"Assets/Scripts/Utils/Define.cs",
"Assets/Scripts/Utils/Extension.cs",
"Assets/Scripts/Utils/Util.cs",
"Assets/TextMesh Pro/Examples & Extras/Scripts/Benchmark01.cs",
"Assets/TextMesh Pro/Examples & Extras/Scripts/Benchmark01_UGUI.cs",
@ -81486,6 +81492,12 @@
0,
0,
0,
0,
0,
0,
0,
0,
0,
8
],
"Outputs": [
@ -81906,7 +81918,7 @@
"Annotation": "WriteText Library/Bee/artifacts/200b0aEDbg.dag/Assembly-CSharp.dll.mvfrm.rsp",
"DisplayName": "Writing Assembly-CSharp.dll.mvfrm.rsp",
"ActionType": "WriteFile",
"PayloadOffset": 3727620,
"PayloadOffset": 3727847,
"PayloadLength": 14882,
"PayloadDebugContentSnippet": "Library/Bee/artifacts/mvdfrm/U",
"Inputs": [],

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -436,9 +436,15 @@
"Assets/Scripts/Managers/InputManager.cs"
"Assets/Scripts/Managers/Managers.cs"
"Assets/Scripts/Managers/ResourceManager.cs"
"Assets/Scripts/Managers/UIManager.cs"
"Assets/Scripts/TestCollision.cs"
"Assets/Scripts/UI/UI_Button.cs"
"Assets/Scripts/UI/Popup/UI_Button.cs"
"Assets/Scripts/UI/Popup/UI_Popup.cs"
"Assets/Scripts/UI/Scene/UI_Scene.cs"
"Assets/Scripts/UI/UI_Base.cs"
"Assets/Scripts/UI/UI_EventHandler.cs"
"Assets/Scripts/Utils/Define.cs"
"Assets/Scripts/Utils/Extension.cs"
"Assets/Scripts/Utils/Util.cs"
"Assets/TextMesh Pro/Examples & Extras/Scripts/Benchmark01.cs"
"Assets/TextMesh Pro/Examples & Extras/Scripts/Benchmark01_UGUI.cs"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
{ "pid": 35942, "tid": -1, "ph": "M", "name": "process_name", "args": { "name": "netcorerun.dll" } },
{ "pid": 35942, "tid": -1, "ph": "M", "name": "process_sort_index", "args": { "sort_index": "-1" } },
{ "pid": 35942, "tid": 1, "ph": "M", "name": "thread_name", "args": { "name": "" } },
{ "pid": 35942, "tid": 1, "ts": 1756946777247700, "dur": 396153, "ph": "X", "name": "BuildProgram", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777248262, "dur": 74313, "ph": "X", "name": "BuildProgramContextConstructor", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777583609, "dur": 3145, "ph": "X", "name": "OutputData.Write", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777586756, "dur": 57085, "ph": "X", "name": "Backend.Write", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777587193, "dur": 36740, "ph": "X", "name": "JsonToString", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777647915, "dur": 701, "ph": "X", "name": "", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1756946777647707, "dur": 1032, "ph": "X", "name": "Write chrome-trace events", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572389767, "dur": 417773, "ph": "X", "name": "BuildProgram", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572390336, "dur": 72908, "ph": "X", "name": "BuildProgramContextConstructor", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572746095, "dur": 2267, "ph": "X", "name": "OutputData.Write", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572748363, "dur": 59168, "ph": "X", "name": "Backend.Write", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572748791, "dur": 41322, "ph": "X", "name": "JsonToString", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572811671, "dur": 657, "ph": "X", "name": "", "args": {} },
{ "pid": 35942, "tid": 1, "ts": 1757049572811478, "dur": 976, "ph": "X", "name": "Write chrome-trace events", "args": {} },

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1 +1 @@
[{"Port":56368,"SolutionName":"prj_Inflearn","ProtocolGuid":"ca1ba338-cca4-4e4d-8a49-b08f8e521651"}]
[{"Port":64486,"SolutionName":"prj_Inflearn","ProtocolGuid":"ca1ba338-cca4-4e4d-8a49-b08f8e521651"}]

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
{"m_ScrollY":0.0,"m_ExpandedSceneGameObjectInstanceIDs":[-51680,-51668,-40686,-40682,-40532,-40520,-38516],"m_LastClickedInstanceID":0,"m_OpenSceneGUIDs":["99c9720ab356a0642a771bea13969a05"]}
{"m_ScrollY":0.0,"m_ExpandedSceneGameObjectInstanceIDs":[-87134,-82738,-80192,-80056,-80000,-62174,-51680,-51668,-40686,-40682,-40532,-40520,-38516],"m_LastClickedInstanceID":0,"m_OpenSceneGUIDs":["99c9720ab356a0642a771bea13969a05"]}

View File

@ -1 +1 @@
{"m_ScrollY":0.0,"m_ExpandedPrefabGameObjectFileIDs":[2849477420388522791,1783748317587288301],"m_LastClickedFileID":0}
{"m_ScrollY":0.0,"m_ExpandedPrefabGameObjectFileIDs":[6202759135387968287],"m_LastClickedFileID":0}

View File

@ -1 +1 @@
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":false,"audioPlay":false,"sceneViewState":{"m_AlwaysRefresh":false,"showFog":true,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true,"showVisualEffectGraphs":true,"m_FxEnabled":true},"in2DMode":true,"pivot":{"x":707.9470825195313,"y":507.0750732421875,"z":-3.8101532459259035},"rotation":{"x":0.0,"y":0.0,"z":0.0,"w":1.0},"size":522.4368896484375,"orthographic":true}
{"cameraMode":{"drawMode":0,"name":"Shaded","section":"Shading Mode"},"sceneLighting":false,"audioPlay":false,"sceneViewState":{"m_AlwaysRefresh":false,"showFog":true,"showSkybox":true,"showFlares":true,"showImageEffects":true,"showParticleSystems":true,"showVisualEffectGraphs":true,"m_FxEnabled":true},"in2DMode":true,"pivot":{"x":960.0,"y":540.0,"z":0.0},"rotation":{"x":0.0,"y":0.0,"z":0.0,"w":1.0},"size":1101.45361328125,"orthographic":true}

Binary file not shown.

Binary file not shown.

View File

@ -12,5 +12,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: bc3a27147f944790916176e2172ad506, type: 3}
m_Name:
m_EditorClassIdentifier:
lastWriteTicks: -8584447157130140255
lastWriteTicks: -8584445573135528436
manifestJsonLastWriteTicks: -8584447260731216107

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -25,7 +25,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 100}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
controlID: 17
controlID: 4178
draggingID: 0
--- !u!114 &2
MonoBehaviour:
@ -43,7 +43,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Scene
m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Scene\u200B"
m_Pos:
@ -108,11 +108,11 @@ MonoBehaviour:
displayed: 0
id: unity-search-toolbar
index: 3
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 1
layout: 1
size: {x: 0, y: 0}
@ -164,11 +164,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Light Settings
index: 0
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -192,11 +192,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Cloth Constraints
index: 1
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -206,11 +206,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Cloth Collisions
index: 2
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -262,11 +262,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Occlusion Culling
index: 3
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -276,11 +276,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Physics Debugger
index: 4
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -290,11 +290,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Scene Visibility
index: 5
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -304,11 +304,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Particles
index: 6
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -374,11 +374,11 @@ MonoBehaviour:
displayed: 0
id: Brush Attributes
index: 2
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -388,10 +388,10 @@ MonoBehaviour:
displayed: 1
id: unity-scene-view-camera-mode-toolbar
index: 2
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffset: {x: 24, y: 25}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 1
@ -402,11 +402,11 @@ MonoBehaviour:
displayed: 0
id: Terrain Tools
index: 0
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -416,11 +416,11 @@ MonoBehaviour:
displayed: 0
id: Brush Masks
index: 1
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 24, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -430,11 +430,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/Lighting Visualization Colors
index: 1
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -556,11 +556,11 @@ MonoBehaviour:
displayed: 0
id: Scene View/PBR Validation Settings
index: 8
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -570,11 +570,11 @@ MonoBehaviour:
displayed: 0
id: APV Overlay
index: 9
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":25.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
snapOffset: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapOffsetDelta: {x: 0, y: 25}
snapCorner: 0
layout: 4
size: {x: 0, y: 0}
@ -611,7 +611,7 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_WindowGUID: 3a5dbca6e69034ad4a02b0b31b55e9a9
m_Gizmos: 1
m_OverrideSceneCullingMask: 6917529027641081856
m_OverrideSceneCullingMask: 0
m_SceneIsLit: 0
m_SceneLighting: 1
m_2DMode: 1
@ -622,7 +622,7 @@ MonoBehaviour:
m_Position:
m_Target: {x: 960, y: 540, z: 0}
speed: 2
m_Value: {x: 960, y: 540, z: 0.00000037661206}
m_Value: {x: 960, y: 540, z: 0}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@ -652,7 +652,7 @@ MonoBehaviour:
m_Fade:
m_Target: 0
speed: 2
m_Value: 1
m_Value: 0
m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
m_Pivot: {x: 0, y: 0, z: 0}
m_Size: {x: 1, y: 1}
@ -670,11 +670,11 @@ MonoBehaviour:
m_Rotation:
m_Target: {x: 0, y: 0, z: 0, w: 1}
speed: 2
m_Value: {x: -0.000000018220176, y: 0.00000000825782, z: -0.000000002624841, w: -1}
m_Value: {x: 0, y: 0, z: 0, w: 1}
m_Size:
m_Target: 1101.4536
speed: 2
m_Value: 1101.4535
m_Value: 1101.4536
m_Ortho:
m_Target: 1
speed: 2
@ -732,7 +732,7 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 18
controlID: 4179
draggingID: 0
--- !u!114 &4
MonoBehaviour:
@ -777,7 +777,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Animator
m_Image: {fileID: 1711060831702674872, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: -1673928668082335149, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Animator\u200B"
m_Pos:
@ -876,7 +876,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Game
m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Game\u200B"
m_Pos:
@ -979,7 +979,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Animation
m_Image: {fileID: -3237396543322336831, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: -8166618308981325432, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Animation\u200B"
m_Pos:
@ -1001,7 +1001,7 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_LockTracker:
m_IsLocked: 0
m_LastSelectedObjectID: 42472
m_LastSelectedObjectID: -62574
--- !u!114 &9
MonoBehaviour:
m_ObjectHideFlags: 52
@ -1026,7 +1026,7 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 72
controlID: 4132
draggingID: 0
--- !u!114 &10
MonoBehaviour:
@ -1070,7 +1070,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Hierarchy
m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Hierarchy\u200B"
m_Pos:
@ -1093,9 +1093,9 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: b861ffff
m_LastClickedID: -40520
m_ExpandedIDs: 1261ffff1661ffffac61ffffb861ffff8c69ffff
m_SelectedIDs: 84b9feff
m_LastClickedID: -83580
m_ExpandedIDs: 00bafeff68a40100
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1112,7 +1112,7 @@ MonoBehaviour:
m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_TrimLeadingAndTrailingWhitespace: 0
m_ClientGUIView: {fileID: 10}
m_ClientGUIView: {fileID: 0}
m_SearchString:
m_ExpandedScenes: []
m_CurrenRootInstanceID: 0
@ -1162,7 +1162,7 @@ MonoBehaviour:
m_MaxSize: {x: 10000, y: 10000}
m_TitleContent:
m_Text: Project
m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Project\u200B"
m_Pos:
@ -1193,7 +1193,7 @@ MonoBehaviour:
m_SkipHidden: 1
m_SearchArea: 1
m_Folders:
- Assets/Resources/Prefabs/UI
- Assets/Resources/Prefabs/UI/Popup
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
@ -1203,30 +1203,30 @@ MonoBehaviour:
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- Assets/Resources/Prefabs/UI
- Assets/Resources/Prefabs/UI/Popup
m_LastFoldersGridSize: 16
m_LastProjectPath: /Users/ta9/DEV/Study/prj_Inflearn
m_LockTracker:
m_IsLocked: 0
m_FolderTreeState:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: 301a0100
m_LastClickedID: 72240
m_ExpandedIDs: 00000000ae190100b0190100b2190100b4190100b6190100b8190100ba190100bc190100be190100c019010000ca9a3bffffff7f
m_SelectedIDs: 34830100
m_LastClickedID: 99124
m_ExpandedIDs: 00000000ae190100b0190100b2190100b4190100b6190100b8190100ba190100bc190100be190100c0190100301a0100381a010000ca9a3bffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
m_OriginalName:
m_Name: Scene
m_OriginalName: Scene
m_EditFieldRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
m_UserData: 0
m_UserData: 99136
m_IsWaitingForDelay: 0
m_IsRenaming: 0
m_OriginalEventType: 11
m_OriginalEventType: 4
m_IsRenamingFilename: 1
m_TrimLeadingAndTrailingWhitespace: 0
m_ClientGUIView: {fileID: 12}
@ -1241,7 +1241,7 @@ MonoBehaviour:
scrollPos: {x: 0, y: 0}
m_SelectedIDs: ded4ffff
m_LastClickedID: 0
m_ExpandedIDs: 00000000ae190100b0190100b2190100b4190100b6190100b8190100ba190100bc190100be190100c0190100
m_ExpandedIDs: 00000000ae190100b0190100b2190100b4190100b6190100b8190100ba190100bc190100be190100c019010000ca9a3bffffff7f
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@ -1267,10 +1267,10 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_ListAreaState:
m_SelectedInstanceIDs: b861ffff
m_LastClickedInstanceID: -40520
m_SelectedInstanceIDs: 84b9feff
m_LastClickedInstanceID: -83580
m_HadKeyboardFocusLastEvent: 1
m_ExpandedInstanceIDs: c6230000ec6700009a5e0000000000001e0000001a00000072450000f8a500000ca60000
m_ExpandedInstanceIDs: c6230000ec6700009a5e0000000000001e0000001a00000072450000f8a500000ca600003c830100
m_CreateAssetUtility:
m_EndAction: {fileID: 0}
m_InstanceID: 0
@ -1306,7 +1306,7 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 8096, y: 16192}
vertical: 1
controlID: 118
controlID: 4075
draggingID: 0
--- !u!114 &15
MonoBehaviour:
@ -1425,7 +1425,7 @@ MonoBehaviour:
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
m_Text: Console
m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000, type: 0}
m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0}
m_Tooltip:
m_TextWithWhitespace: "Console\u200B"
m_Pos: