From cbd35babcabda58bfb9d1e078e4165c4917712ac Mon Sep 17 00:00:00 2001 From: SEAN Date: Mon, 20 Oct 2025 16:54:45 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. ExpBar를 UIBar 로 변경해서 UIButton과 같이 여러곳에서 공용으로 사용할 수 있게 변경 2. EventBus 를 만들어서 Button같이 자기 스스로 동작을 시작할 수 있는 오브젝트들 말고 수동적인 오브젝트들이 값을 받는 방식을 관리하게 설정 - PlayerController, UIManager, UIBar, EventBus를 연결함 3. Events 아래에 Player의 이벤트에 연관된 코드를 PlayerEvents 로 만들어서 관리함 - 경험치 전달 양식이 여기 존재 - 체력바나 마나바 같은 양식도 여기서 만들 예정 --- Assets/Resources/Data/PlayerData.json | 2 +- Assets/Resources/Prefabs/UI/Bar.prefab | 1168 +++++++++++++++++ Assets/Resources/Prefabs/UI/Bar.prefab.meta | 7 + Assets/Resources/Prefabs/UI/ExpBar.prefab | 453 ++++--- .../Scripts/Controllers/PlayerController.cs | 21 +- Assets/Scripts/Events.meta | 8 + Assets/Scripts/Events/EventBus.cs | 46 + Assets/Scripts/Events/EventBus.cs.meta | 2 + Assets/Scripts/Events/PlayerEvents.cs | 10 + Assets/Scripts/Events/PlayerEvents.cs.meta | 2 + Assets/Scripts/Managers/InputManager.cs | 14 +- Assets/Scripts/Managers/UIManager.cs | 23 +- Assets/Scripts/Scenes/GameScene.cs | 58 +- Assets/Scripts/UI/ExpBar.cs | 5 +- Assets/Scripts/UI/UIBar.cs | 149 +++ Assets/Scripts/UI/UIBar.cs.meta | 2 + Assets/Scripts/Utils/Define.cs | 3 +- 17 files changed, 1755 insertions(+), 218 deletions(-) create mode 100644 Assets/Resources/Prefabs/UI/Bar.prefab create mode 100644 Assets/Resources/Prefabs/UI/Bar.prefab.meta create mode 100644 Assets/Scripts/Events.meta create mode 100644 Assets/Scripts/Events/EventBus.cs create mode 100644 Assets/Scripts/Events/EventBus.cs.meta create mode 100644 Assets/Scripts/Events/PlayerEvents.cs create mode 100644 Assets/Scripts/Events/PlayerEvents.cs.meta create mode 100644 Assets/Scripts/UI/UIBar.cs create mode 100644 Assets/Scripts/UI/UIBar.cs.meta diff --git a/Assets/Resources/Data/PlayerData.json b/Assets/Resources/Data/PlayerData.json index 346f287f6..0cbe718d1 100644 --- a/Assets/Resources/Data/PlayerData.json +++ b/Assets/Resources/Data/PlayerData.json @@ -12,7 +12,7 @@ "scanRange": 5.0, "atkRange": 1.5, "exp": 0, - "maxExp": 100, + "maxExp": 80, "gold": 0 } } \ No newline at end of file diff --git a/Assets/Resources/Prefabs/UI/Bar.prefab b/Assets/Resources/Prefabs/UI/Bar.prefab new file mode 100644 index 000000000..2c725aca7 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Bar.prefab @@ -0,0 +1,1168 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &630125526622036453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7895639731207875429} + - component: {fileID: 3599930679974216339} + m_Layer: 0 + m_Name: BarText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7895639731207875429 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630125526622036453} + 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: 4461336040580980630} + - {fileID: 1185458394009097790} + - {fileID: 2899235652267747965} + m_Father: {fileID: 909237966491625105} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 2608, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &3599930679974216339 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630125526622036453} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &2383778856418022799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 909237966491625105} + - component: {fileID: 4559962299042883094} + - component: {fileID: 2424286047629124299} + - component: {fileID: -4734317656873768212} + m_Layer: 5 + m_Name: Bar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &909237966491625105 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2383778856418022799} + 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: 3489982145579719676} + - {fileID: 7895639731207875429} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 40} + m_SizeDelta: {x: -80, y: 40} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &4559962299042883094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2383778856418022799} + m_CullTransparentMesh: 1 +--- !u!114 &2424286047629124299 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2383778856418022799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.54901963} + 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: 0} + m_Type: 0 + 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 &-4734317656873768212 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2383778856418022799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bafb0a552d3a0462db4149824a87bb91, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::UIBar + _type: 0 +--- !u!1 &2472602992259066255 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3905927752518233880} + - component: {fileID: 5663373586445555864} + - component: {fileID: 3578861022224626993} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3905927752518233880 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2472602992259066255} + m_LocalRotation: {x: 0, y: 0, z: -0.38268343, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 923344643736520813} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 25, y: 0} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5663373586445555864 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2472602992259066255} + m_CullTransparentMesh: 1 +--- !u!114 &3578861022224626993 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2472602992259066255} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: 100 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 27.55 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 40 + m_fontStyle: 1 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3943429930110777257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7734353473080974131} + - component: {fileID: 6578211153184494431} + - component: {fileID: 7479674478467875158} + m_Layer: 5 + m_Name: BackBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7734353473080974131 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3943429930110777257} + 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: 2744106532109729024} + 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 &6578211153184494431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3943429930110777257} + m_CullTransparentMesh: 1 +--- !u!114 &7479674478467875158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3943429930110777257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.078431375, g: 0.078431375, b: 0.078431375, 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: 10907, 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!1 &4374228266719089158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1185458394009097790} + - component: {fileID: 8775937448045779457} + - component: {fileID: 4462828102195895334} + - component: {fileID: 7006330525853391628} + m_Layer: 5 + m_Name: / + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1185458394009097790 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4374228266719089158} + 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: 7895639731207875429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1304, y: 5} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &8775937448045779457 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4374228266719089158} + m_CullTransparentMesh: 1 +--- !u!114 &4462828102195895334 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4374228266719089158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: / + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &7006330525853391628 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4374228266719089158} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 50 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &4490166043111506993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 923344643736520813} + - component: {fileID: 5454486098356707246} + - component: {fileID: 6615602214684552205} + m_Layer: 5 + m_Name: BackGround + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &923344643736520813 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4490166043111506993} + m_LocalRotation: {x: 0, y: 0, z: 0.38268343, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3905927752518233880} + m_Father: {fileID: 3448213831868957466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45} + 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: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5454486098356707246 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4490166043111506993} + m_CullTransparentMesh: 1 +--- !u!114 &6615602214684552205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4490166043111506993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + 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: 0} + m_Type: 0 + 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!1 &6012957808788413060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3489982145579719676} + - component: {fileID: 6089582734141177869} + m_Layer: 5 + m_Name: Stack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3489982145579719676 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6012957808788413060} + 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: 3448213831868957466} + - {fileID: 2744106532109729024} + m_Father: {fileID: 909237966491625105} + 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!114 &6089582734141177869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6012957808788413060} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &6833729790948193376 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4461336040580980630} + - component: {fileID: 1047259337029771988} + - component: {fileID: 8110949888822068955} + m_Layer: 5 + m_Name: CurrentText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4461336040580980630 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6833729790948193376} + 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: 7895639731207875429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1228.765, y: 5} + m_SizeDelta: {x: 100.47, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &1047259337029771988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6833729790948193376} + m_CullTransparentMesh: 1 +--- !u!114 &8110949888822068955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6833729790948193376} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: 10000 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6973617049708157194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 21655935593292381} + - component: {fileID: 8543801610682562573} + - component: {fileID: 7184243274455708992} + m_Layer: 5 + m_Name: ValueBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &21655935593292381 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6973617049708157194} + 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: 2744106532109729024} + 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 &8543801610682562573 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6973617049708157194} + m_CullTransparentMesh: 1 +--- !u!114 &7184243274455708992 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6973617049708157194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0.8113208, g: 0.7385263, b: 0, 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: 0} + m_Type: 3 + 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!1 &7963322693539333292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2899235652267747965} + - component: {fileID: 8131688950866180055} + - component: {fileID: 2672431956965746345} + m_Layer: 5 + m_Name: MaxText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2899235652267747965 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7963322693539333292} + 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: 7895639731207875429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 1379.235, y: 5} + m_SizeDelta: {x: 100.47, y: 50} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &8131688950866180055 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7963322693539333292} + m_CullTransparentMesh: 1 +--- !u!114 &2672431956965746345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7963322693539333292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: 10000 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8029374535081258638 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2744106532109729024} + - component: {fileID: 8340384612856564243} + m_Layer: 5 + m_Name: ImageStack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2744106532109729024 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8029374535081258638} + 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: 7734353473080974131} + - {fileID: 21655935593292381} + m_Father: {fileID: 3489982145579719676} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 100, y: -20} + m_SizeDelta: {x: 2508, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &8340384612856564243 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8029374535081258638} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &9159150271504347451 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3448213831868957466} + - component: {fileID: 1112113745844419424} + - component: {fileID: 8764408600892290818} + - component: {fileID: 2266406605074917251} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3448213831868957466 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9159150271504347451} + 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: 923344643736520813} + m_Father: {fileID: 3489982145579719676} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -20} + m_SizeDelta: {x: 100, y: 40} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1112113745844419424 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9159150271504347451} + m_CullTransparentMesh: 1 +--- !u!114 &8764408600892290818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9159150271504347451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + 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: 0} + m_Type: 0 + 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 &2266406605074917251 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9159150271504347451} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 100 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/Resources/Prefabs/UI/Bar.prefab.meta b/Assets/Resources/Prefabs/UI/Bar.prefab.meta new file mode 100644 index 000000000..2cb74932a --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Bar.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 202ee4c8b345d4f6eb79b6488ff9a9e2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/ExpBar.prefab b/Assets/Resources/Prefabs/UI/ExpBar.prefab index 2a9f7dbeb..ece2457c5 100644 --- a/Assets/Resources/Prefabs/UI/ExpBar.prefab +++ b/Assets/Resources/Prefabs/UI/ExpBar.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &221660593747236863 +--- !u!1 &2339378672602307055 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,9 +8,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3572295776350739363} - - component: {fileID: 8570635063274032224} - - component: {fileID: 7389402252129091523} + - component: {fileID: 1366565084877804979} + - component: {fileID: 6166932635644887664} + - component: {fileID: 5037335085271249363} m_Layer: 5 m_Name: Lv_BackGround m_TagString: Untagged @@ -18,41 +18,41 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &3572295776350739363 +--- !u!224 &1366565084877804979 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 221660593747236863} + m_GameObject: {fileID: 2339378672602307055} m_LocalRotation: {x: 0, y: 0, z: 0.38268343, w: 0.92387956} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 826302246741294294} - m_Father: {fileID: 1340310372456599764} + - {fileID: 2887869641152754374} + m_Father: {fileID: 3602288774921871044} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45} 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: 50, y: 50} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8570635063274032224 +--- !u!222 &6166932635644887664 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 221660593747236863} + m_GameObject: {fileID: 2339378672602307055} m_CullTransparentMesh: 1 ---- !u!114 &7389402252129091523 +--- !u!114 &5037335085271249363 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 221660593747236863} + m_GameObject: {fileID: 2339378672602307055} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -76,7 +76,7 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &863241678155818087 +--- !u!1 &2926919861074291319 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -84,9 +84,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 6203366101496334589} - - component: {fileID: 7352611464118288529} - - component: {fileID: 6525185158827299480} + - component: {fileID: 8462988529716676333} + - component: {fileID: 5002903848154041985} + - component: {fileID: 8784912040634948744} m_Layer: 5 m_Name: BackBar m_TagString: Untagged @@ -94,40 +94,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &6203366101496334589 +--- !u!224 &8462988529716676333 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 863241678155818087} + m_GameObject: {fileID: 2926919861074291319} 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: 3593162250881824095} + m_Father: {fileID: 4049409936139067614} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 30, y: 0} - m_SizeDelta: {x: -80, y: -20} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7352611464118288529 +--- !u!222 &5002903848154041985 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 863241678155818087} + m_GameObject: {fileID: 2926919861074291319} m_CullTransparentMesh: 1 ---- !u!114 &6525185158827299480 +--- !u!114 &8784912040634948744 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 863241678155818087} + m_GameObject: {fileID: 2926919861074291319} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -151,7 +151,7 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2042341913076254273 +--- !u!1 &4356970860310983761 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -159,100 +159,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 3593162250881824095} - - component: {fileID: 147216456297264600} - - component: {fileID: 2082899758899392773} - - component: {fileID: 6925077585244404785} - m_Layer: 5 - m_Name: ExpBar - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3593162250881824095 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2042341913076254273} - 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: 6203366101496334589} - - {fileID: 4399971679552303507} - - {fileID: 1340310372456599764} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: 40} - m_SizeDelta: {x: -80, y: 40} - m_Pivot: {x: 0.5, y: 0} ---- !u!222 &147216456297264600 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2042341913076254273} - m_CullTransparentMesh: 1 ---- !u!114 &2082899758899392773 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2042341913076254273} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 0.54901963} - 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: 0} - m_Type: 0 - 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 &6925077585244404785 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2042341913076254273} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 45d0d2b1a5ea9453bb04907219f9d854, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::ExpBar ---- !u!1 &2239215118888221249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 826302246741294294} - - component: {fileID: 8348373391610579798} - - component: {fileID: 930435567296964351} + - component: {fileID: 2887869641152754374} + - component: {fileID: 5818434108796290374} + - component: {fileID: 3426616548914866415} m_Layer: 5 m_Name: Lv_Text m_TagString: Untagged @@ -260,40 +169,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &826302246741294294 +--- !u!224 &2887869641152754374 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2239215118888221249} + m_GameObject: {fileID: 4356970860310983761} m_LocalRotation: {x: 0, y: 0, z: -0.38268343, w: 0.92387956} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 3572295776350739363} + m_Father: {fileID: 1366565084877804979} m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 25, y: 0} m_SizeDelta: {x: 50, y: 50} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8348373391610579798 +--- !u!222 &5818434108796290374 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2239215118888221249} + m_GameObject: {fileID: 4356970860310983761} m_CullTransparentMesh: 1 ---- !u!114 &930435567296964351 +--- !u!114 &3426616548914866415 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2239215118888221249} + m_GameObject: {fileID: 4356970860310983761} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} @@ -378,7 +287,7 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &4780834605125018357 +--- !u!1 &4554124963603875921 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -386,9 +295,163 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1340310372456599764} - - component: {fileID: 3615331207690971310} - - component: {fileID: 4963624523132789964} + - component: {fileID: 1349146564529175375} + - component: {fileID: 2409249015060560840} + - component: {fileID: 4576688473781944085} + - component: {fileID: 4863477476067078689} + m_Layer: 5 + m_Name: ExpBar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1349146564529175375 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4554124963603875921} + 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: 3335349825557693986} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 40} + m_SizeDelta: {x: -80, y: 40} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &2409249015060560840 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4554124963603875921} + m_CullTransparentMesh: 1 +--- !u!114 &4576688473781944085 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4554124963603875921} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.54901963} + 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: 0} + m_Type: 0 + 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 &4863477476067078689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4554124963603875921} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45d0d2b1a5ea9453bb04907219f9d854, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::ExpBar +--- !u!1 &5572417284712269658 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3335349825557693986} + - component: {fileID: 5378962067731340755} + m_Layer: 5 + m_Name: Stack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3335349825557693986 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5572417284712269658} + 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: 3602288774921871044} + - {fileID: 4049409936139067614} + m_Father: {fileID: 1349146564529175375} + 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!114 &5378962067731340755 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5572417284712269658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &7006673165263531237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3602288774921871044} + - component: {fileID: 1245358773147117246} + - component: {fileID: 7459664762950593244} + - component: {fileID: 95849339312536157} m_Layer: 5 m_Name: Lv_Icon m_TagString: Untagged @@ -396,41 +459,41 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1340310372456599764 +--- !u!224 &3602288774921871044 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4780834605125018357} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 7006673165263531237} + 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: 3572295776350739363} - m_Father: {fileID: 3593162250881824095} + - {fileID: 1366565084877804979} + m_Father: {fileID: 3335349825557693986} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 50, y: 50} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0.5} ---- !u!222 &3615331207690971310 +--- !u!222 &1245358773147117246 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4780834605125018357} + m_GameObject: {fileID: 7006673165263531237} m_CullTransparentMesh: 1 ---- !u!114 &4963624523132789964 +--- !u!114 &7459664762950593244 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4780834605125018357} + m_GameObject: {fileID: 7006673165263531237} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -454,7 +517,27 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &6738646015388748484 +--- !u!114 &95849339312536157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7006673165263531237} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 100 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &8163182393171047248 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -462,9 +545,67 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4399971679552303507} - - component: {fileID: 5463595698359086019} - - component: {fileID: 6841168128043689614} + - component: {fileID: 4049409936139067614} + - component: {fileID: 7897516209225603021} + m_Layer: 5 + m_Name: ImageStack + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4049409936139067614 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8163182393171047248} + 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: 8462988529716676333} + - {fileID: 2192001012308000643} + m_Father: {fileID: 3335349825557693986} + 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.5} +--- !u!114 &7897516209225603021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8163182393171047248} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: 1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &9142344050337989844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2192001012308000643} + - component: {fileID: 7545443590116206035} + - component: {fileID: 9049118729200265374} m_Layer: 5 m_Name: ValueBar m_TagString: Untagged @@ -472,40 +613,40 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &4399971679552303507 +--- !u!224 &2192001012308000643 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6738646015388748484} + m_GameObject: {fileID: 9142344050337989844} 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: 3593162250881824095} + m_Father: {fileID: 4049409936139067614} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 30, y: 0} - m_SizeDelta: {x: -80, y: -20} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5463595698359086019 +--- !u!222 &7545443590116206035 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6738646015388748484} + m_GameObject: {fileID: 9142344050337989844} m_CullTransparentMesh: 1 ---- !u!114 &6841168128043689614 +--- !u!114 &9049118729200265374 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6738646015388748484} + m_GameObject: {fileID: 9142344050337989844} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} diff --git a/Assets/Scripts/Controllers/PlayerController.cs b/Assets/Scripts/Controllers/PlayerController.cs index f81e8322d..a50163c4d 100644 --- a/Assets/Scripts/Controllers/PlayerController.cs +++ b/Assets/Scripts/Controllers/PlayerController.cs @@ -36,7 +36,7 @@ public partial class PlayerController : MonoBehaviour, IDamageable #endregion // 이벤트 - public event Action OnExpChanged; + public event Action OnExpChanged; // 상태 정보 @@ -109,6 +109,8 @@ public partial class PlayerController : MonoBehaviour, IDamageable // EquipWeapon(_shieldSocket, "Prefabs/Equipment/Shield"); SubscribeAction(); + + } void SubscribeAction() @@ -117,9 +119,11 @@ public partial class PlayerController : MonoBehaviour, IDamageable Manager.Input.MoveAction += OnMove; Manager.Input.RegisterAction("Button_Attack", OnAttack); - + _magnet.OnGetExp -= OnGetExp; _magnet.OnGetExp += OnGetExp; + + SetEXPBar(); } // 애니메이터 세팅 (지금은 한 줄 뿐이지만 후에 더 추가될 수도) @@ -309,10 +313,21 @@ public partial class PlayerController : MonoBehaviour, IDamageable if (_status != null) { _status.ApplyExp(amount); - OnExpChanged?.Invoke(_status.Level ,_status.Exp, _status.MaxExp); + SetEXPBar(); + Debug.Log($"Player Exp: {amount} / {_status.Exp}"); } } + + private void SetEXPBar() + { + EventBus.Raise(new PlayerExpEvent + { + Level = _status.Level.ToString(), + CurrentExp = _status.Exp, + MaxExp = _status.MaxExp + }); + } #endregion diff --git a/Assets/Scripts/Events.meta b/Assets/Scripts/Events.meta new file mode 100644 index 000000000..5e80ea07b --- /dev/null +++ b/Assets/Scripts/Events.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa772244b3181411bae9458cc0378c54 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Events/EventBus.cs b/Assets/Scripts/Events/EventBus.cs new file mode 100644 index 000000000..52049cb28 --- /dev/null +++ b/Assets/Scripts/Events/EventBus.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +public class EventBus +{ + private static Dictionary s_event = new(); + + public static void Subscribe(Action listener) + { + Type eventType = typeof(T); + if (s_event.TryGetValue(eventType, out var exisitingDelegate)) + { + s_event[eventType] = Delegate.Combine(exisitingDelegate, listener); + } + else + { + s_event[eventType] = listener; + } + } + + public static void Unsubscribe(Action listener) + { + Type eventType = typeof(T); + if (s_event.TryGetValue(eventType, out var existingDelegate)) + { + var newDelegate = Delegate.Remove(existingDelegate, listener); + if (newDelegate == null) + { + s_event.Remove(eventType); + } + else + { + s_event[eventType] = newDelegate; + } + } + } + + public static void Raise(T eventArgs) + { + if (s_event.TryGetValue(typeof(T), out var exisingDelegate)) + { + (exisingDelegate as Action)?.Invoke(eventArgs); + } + } + +} diff --git a/Assets/Scripts/Events/EventBus.cs.meta b/Assets/Scripts/Events/EventBus.cs.meta new file mode 100644 index 000000000..b24a7189d --- /dev/null +++ b/Assets/Scripts/Events/EventBus.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ca004378d725f48618d0b21a682f77db \ No newline at end of file diff --git a/Assets/Scripts/Events/PlayerEvents.cs b/Assets/Scripts/Events/PlayerEvents.cs new file mode 100644 index 000000000..0ac335ce4 --- /dev/null +++ b/Assets/Scripts/Events/PlayerEvents.cs @@ -0,0 +1,10 @@ +using UnityEngine; + + +//PlayerEvents +public struct PlayerExpEvent +{ + public string Level; + public float CurrentExp; + public float MaxExp; +} \ No newline at end of file diff --git a/Assets/Scripts/Events/PlayerEvents.cs.meta b/Assets/Scripts/Events/PlayerEvents.cs.meta new file mode 100644 index 000000000..dd8ea8b4b --- /dev/null +++ b/Assets/Scripts/Events/PlayerEvents.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 635604a76b8f84527903793a07ec01df \ No newline at end of file diff --git a/Assets/Scripts/Managers/InputManager.cs b/Assets/Scripts/Managers/InputManager.cs index 4792724ac..980c1a645 100644 --- a/Assets/Scripts/Managers/InputManager.cs +++ b/Assets/Scripts/Managers/InputManager.cs @@ -6,20 +6,20 @@ using UnityEngine.InputSystem; public class InputManager: IManager { + private InputActions _action; + private Dictionary _registeredActions = new Dictionary(); + + public Joystick JoyStick { get; set; } // 화면 터치를 어떻게 받아올건지에 대한 액션 public Action InputAction = null; // 화면의 터치하는 실시간 좌표를 사용하는 기능을 위한 액션 public Action PointAction = null; // 조이스틱의 이동을 담당하는 액션 public Action MoveAction = null; - private InputActions _action; - public Joystick JoyStick { get; set; } - - private Dictionary _registeredActions = new Dictionary(); - bool _pressed = false; float _pressedTime = 0.0f; + public void Init() { _action = new InputActions(); @@ -102,11 +102,15 @@ public class InputManager: IManager if (_registeredActions.ContainsKey(name)) _registeredActions[name] -= action; } + //MARK: ACTION INVOKE public void OnClicked(string name) { if(_registeredActions.TryGetValue(name, out Action action)) action?.Invoke(); } + + + //MARK: CLEAR public void Clear() { _action.Dispose(); diff --git a/Assets/Scripts/Managers/UIManager.cs b/Assets/Scripts/Managers/UIManager.cs index fff32b1f3..96206c60b 100644 --- a/Assets/Scripts/Managers/UIManager.cs +++ b/Assets/Scripts/Managers/UIManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using JetBrains.Annotations; using UnityEngine; @@ -24,6 +25,9 @@ public class UIManager : IManager private readonly Dictionary _objects = new (); private readonly Dictionary _instances = new(); private readonly Dictionary _switchObjects = new (); + + private Dictionary> _registeredBarActions = new (); + public void Init() { @@ -74,21 +78,18 @@ public class UIManager : IManager #region UI Object 특화 메서드 - #region ExpBar 메서드 - public void ExclusiveExpBar() + #region Bar 메서드 + public void SubscribeToBarAction(string name, Action action) { - PlayerController player = GameObject.FindObjectOfType(); - if (player != null) - { - player.OnExpChanged -= UpdateExpBar; - player.OnExpChanged += UpdateExpBar; - } + if (!_registeredBarActions.ContainsKey(name)) _registeredBarActions[name] = null; + _registeredBarActions[name] -= action; + _registeredBarActions[name] += action; } - private void UpdateExpBar(int level, float currentExp, float maxExp) + public Action GetBarAction(string name) { - ExpBar expBar = _instances["ExpBar"].GetComponent(); - expBar.UpdateValue(level, currentExp, maxExp); + _registeredBarActions.TryGetValue(name, out var action); + return action; } #endregion diff --git a/Assets/Scripts/Scenes/GameScene.cs b/Assets/Scripts/Scenes/GameScene.cs index bd532f293..82738f2c0 100644 --- a/Assets/Scripts/Scenes/GameScene.cs +++ b/Assets/Scripts/Scenes/GameScene.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using Unity.VisualScripting; using UnityEngine; public class GameScene : BaseScene @@ -8,56 +7,36 @@ public class GameScene : BaseScene protected override void Init() { base.Init(); - _sceneType = Define.Scene.Game; - Manager.UI.UIList = new List { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"}; - // var onList = new[] { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"}; - Manager.UI.SwitchOnObject("ExpBar", true); + Manager.UI.UIList = new List { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"}; + + // Manager.UI.SwitchOnObject("ExpBar", true); + Manager.UI.SwitchOnObject("JoyStick", true); UIButton atkbtn = Manager.UI.SwitchOnObject("Button_Attack", true); + if (atkbtn != null) { atkbtn.SetButtonContents(null,"공", false, true); - atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150)); - atkbtn.OnButtonClicked += Manager.Input.OnClicked; - } - - UIButton defbtn = Manager.UI.SwitchOnObject("Button_Defence", true); - if (defbtn != null) - { - defbtn.SetButtonContents(null,"방", false, true); - defbtn.SetButtonRect( - "Button_Defence", + atkbtn.SetButtonRect("Button_Attack", new Vector2(-100f - 180f / 2, 100f + 180f / 2), 180.0f,180.0f, new Vector2(1, 0), new Vector2(0.5f, 0.5f) - ); - // defbtn.Bind(() => Debug.Log("Defence Button Clicked")); + ); + atkbtn.OnButtonClicked += Manager.Input.OnClicked; } - Manager.UI.ExclusiveExpBar(); - CreateSpawner(); - } - void CreateJoyStick() - { - // GameObject joystick = Manager.Resource.Instantiate("Prefabs/UI/VirtualJoyStick", GameObject.Find("@Canvas").transform); - // joystick.AddComponent(); - } - - void CreateButtons() - { - Button_Action buttons = _canvas.AddComponent(); + UIBar expBar = Manager.UI.SwitchOnObject("ExpBar", true); + if (expBar != null) + { + expBar.SwitchObject(true,true); + } - // if (buttons != null) - // { - // buttons.SetSkillButtonEvent(0, () => Debug.Log("Skill 1 Button Clicked")); - // buttons.SetSkillButtonEvent(1, () => Debug.Log("Skill 2 Button Clicked")); - // buttons.SetSkillButtonEvent(2, () => Debug.Log("Skill 3 Button Clicked")); - // // buttons.SetSkillButtonEvent(3, () => Debug.Log("Skill 4 Button Clicked")); - // } + + CreateSpawner(); } void CreateSpawner() @@ -76,9 +55,10 @@ public class GameScene : BaseScene public override void Clear() { - + } - - + + } + diff --git a/Assets/Scripts/UI/ExpBar.cs b/Assets/Scripts/UI/ExpBar.cs index 7f5ff1ea2..4497de6e2 100644 --- a/Assets/Scripts/UI/ExpBar.cs +++ b/Assets/Scripts/UI/ExpBar.cs @@ -8,10 +8,11 @@ public class ExpBar : MonoBehaviour private Image _valueBar; private TMPro.TextMeshProUGUI _levelText; + private void Awake() { - _valueBar = transform.Find("ValueBar").GetComponent(); - _levelText = transform.Find("Lv_Icon/Lv_BackGround/Lv_Text").GetComponent(); + _valueBar = transform.Find("Stack/ImageStack/ValueBar").GetComponent(); + _levelText = transform.Find("Stack/Lv_Icon/Lv_BackGround/Lv_Text").GetComponent(); RectTransform fillRect = _valueBar.rectTransform; fillRect.anchorMax = new Vector2(0, 1); diff --git a/Assets/Scripts/UI/UIBar.cs b/Assets/Scripts/UI/UIBar.cs new file mode 100644 index 000000000..88f07c735 --- /dev/null +++ b/Assets/Scripts/UI/UIBar.cs @@ -0,0 +1,149 @@ +using System; +using UnityEngine; +using UnityEngine.UI; + +public class UIBar : MonoBehaviour +{ + [SerializeField] private BarType _type; + + private GameObject _icon; + private Image _valueBar; + private GameObject _barText; + + private TMPro.TextMeshProUGUI _currentText;//= _barText.transform.Find("CurrentText").GetComponent(); + private TMPro.TextMeshProUGUI _maxText;// = _barText.transform.Find("MaxText").GetComponent(); + private TMPro.TextMeshProUGUI _iconText; + + + private bool _onIcon; + + public bool OnIcon + { + get => _onIcon; + set + { + _onIcon = value; + if (_icon != null) + _icon.SetActive(_onIcon); + } + } + + private bool _onText; + public bool OnText + { + get => _onText; + set + { + _onText = value; + if (_barText != null) + _barText.SetActive(_onText); + } + } + + private Action _onUpdateAction; + + enum BarType + { + Exp, + Health, + Mana, + Stamina + } + + + private void Awake() + { + _valueBar = transform.Find("Stack/ImageStack/ValueBar").GetComponent(); + + _icon = transform.Find("Stack/Icon").gameObject; + if (_icon != null) + _iconText = _icon.transform.Find("BackGround/Text").GetComponent(); + + _barText = transform.Find("BarText").gameObject; + if (_barText != null) + { + _currentText = _barText.transform.Find("CurrentText").GetComponent(); + _maxText = _barText.transform.Find("MaxText").GetComponent(); + } + + RectTransform fillRect = _valueBar.rectTransform; + fillRect.anchorMax = new Vector2(0, 1); + } + + + private void OnEnable() + { + switch (_type) + { + case BarType.Exp: + EventBus.Subscribe(OnExpChanged); + break; + case BarType.Health: + break; + case BarType.Mana: + break; + case BarType.Stamina: + break; + } + } + + private void OnDisable() + { + switch (_type) + { + case BarType.Exp: + EventBus.Unsubscribe(OnExpChanged); + break; + case BarType.Health: + break; + case BarType.Mana: + break; + case BarType.Stamina: + break; + } + } + + + + private void OnExpChanged(PlayerExpEvent ev) + { + UpdateIconValue(ev.Level); + UpdateBarState(ev.CurrentExp, ev.MaxExp); + } + + + + public void SwitchObject(bool onIcon, bool onText) + { + OnIcon = onIcon; + OnText = onText; + } + + public void ChangeBar() + { + // 추후 바 타입에 따른 아이콘 및 색상 변경 구현 + } + + private void UpdateIconValue(string value) + { + if (_icon == null) return; + if (OnIcon) _iconText.text = value; + } + + private void UpdateBarState(float current, float max) + { + if (_valueBar == null) return; + if (OnText) + { + if (_currentText != null) _currentText.text = ((int)current).ToString(); + if (_maxText != null) _maxText.text = ((int)max).ToString(); + } + + float ratio = (max > 0) ? current / max : 0f; + RectTransform fillRect = _valueBar.rectTransform; + fillRect.anchorMax = new Vector2(ratio, 1); + } + + + +} diff --git a/Assets/Scripts/UI/UIBar.cs.meta b/Assets/Scripts/UI/UIBar.cs.meta new file mode 100644 index 000000000..e028c78f2 --- /dev/null +++ b/Assets/Scripts/UI/UIBar.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bafb0a552d3a0462db4149824a87bb91 \ No newline at end of file diff --git a/Assets/Scripts/Utils/Define.cs b/Assets/Scripts/Utils/Define.cs index 2ceeecd1d..4e02b8536 100644 --- a/Assets/Scripts/Utils/Define.cs +++ b/Assets/Scripts/Utils/Define.cs @@ -8,7 +8,8 @@ public class Define {"JoyStick", "Prefabs/UI/JoyStick"}, {"Button_Attack", "Prefabs/UI/Button"}, {"Button_Defence", "Prefabs/UI/Button"}, - {"ExpBar", "Prefabs/UI/ExpBar"} + // {"ExpBar", "Prefabs/UI/ExpBar"} + {"ExpBar", "Prefabs/UI/Bar"} }; public static string MapPath(string name) => PathtoObject.TryGetValue(name, out string path) ? path : string.Empty;