작업
1. ExpBar를 UIBar 로 변경해서 UIButton과 같이 여러곳에서 공용으로 사용할 수 있게 변경 2. EventBus 를 만들어서 Button같이 자기 스스로 동작을 시작할 수 있는 오브젝트들 말고 수동적인 오브젝트들이 값을 받는 방식을 관리하게 설정 - PlayerController, UIManager, UIBar, EventBus를 연결함 3. Events 아래에 Player의 이벤트에 연관된 코드를 PlayerEvents 로 만들어서 관리함 - 경험치 전달 양식이 여기 존재 - 체력바나 마나바 같은 양식도 여기서 만들 예정
This commit is contained in:
parent
c3c0180afc
commit
cbd35babca
|
|
@ -12,7 +12,7 @@
|
||||||
"scanRange": 5.0,
|
"scanRange": 5.0,
|
||||||
"atkRange": 1.5,
|
"atkRange": 1.5,
|
||||||
"exp": 0,
|
"exp": 0,
|
||||||
"maxExp": 100,
|
"maxExp": 80,
|
||||||
"gold": 0
|
"gold": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
1168
Assets/Resources/Prefabs/UI/Bar.prefab
Normal file
1168
Assets/Resources/Prefabs/UI/Bar.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Resources/Prefabs/UI/Bar.prefab.meta
Normal file
7
Assets/Resources/Prefabs/UI/Bar.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 202ee4c8b345d4f6eb79b6488ff9a9e2
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
--- !u!1 &221660593747236863
|
--- !u!1 &2339378672602307055
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -8,9 +8,9 @@ GameObject:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3572295776350739363}
|
- component: {fileID: 1366565084877804979}
|
||||||
- component: {fileID: 8570635063274032224}
|
- component: {fileID: 6166932635644887664}
|
||||||
- component: {fileID: 7389402252129091523}
|
- component: {fileID: 5037335085271249363}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Lv_BackGround
|
m_Name: Lv_BackGround
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -18,41 +18,41 @@ GameObject:
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &3572295776350739363
|
--- !u!224 &1366565084877804979
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {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_LocalRotation: {x: 0, y: 0, z: 0.38268343, w: 0.92387956}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 826302246741294294}
|
- {fileID: 2887869641152754374}
|
||||||
m_Father: {fileID: 1340310372456599764}
|
m_Father: {fileID: 3602288774921871044}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: 50, y: 50}
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &8570635063274032224
|
--- !u!222 &6166932635644887664
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 221660593747236863}
|
m_GameObject: {fileID: 2339378672602307055}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!114 &7389402252129091523
|
--- !u!114 &5037335085271249363
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 221660593747236863}
|
m_GameObject: {fileID: 2339378672602307055}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
|
@ -76,7 +76,7 @@ MonoBehaviour:
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &863241678155818087
|
--- !u!1 &2926919861074291319
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -84,9 +84,9 @@ GameObject:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 6203366101496334589}
|
- component: {fileID: 8462988529716676333}
|
||||||
- component: {fileID: 7352611464118288529}
|
- component: {fileID: 5002903848154041985}
|
||||||
- component: {fileID: 6525185158827299480}
|
- component: {fileID: 8784912040634948744}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: BackBar
|
m_Name: BackBar
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -94,40 +94,40 @@ GameObject:
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &6203366101496334589
|
--- !u!224 &8462988529716676333
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {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_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 3593162250881824095}
|
m_Father: {fileID: 4049409936139067614}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 30, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: -80, y: -20}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &7352611464118288529
|
--- !u!222 &5002903848154041985
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 863241678155818087}
|
m_GameObject: {fileID: 2926919861074291319}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!114 &6525185158827299480
|
--- !u!114 &8784912040634948744
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 863241678155818087}
|
m_GameObject: {fileID: 2926919861074291319}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
|
@ -151,7 +151,7 @@ MonoBehaviour:
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
--- !u!1 &2042341913076254273
|
--- !u!1 &4356970860310983761
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -159,100 +159,9 @@ GameObject:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 3593162250881824095}
|
- component: {fileID: 2887869641152754374}
|
||||||
- component: {fileID: 147216456297264600}
|
- component: {fileID: 5818434108796290374}
|
||||||
- component: {fileID: 2082899758899392773}
|
- component: {fileID: 3426616548914866415}
|
||||||
- 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}
|
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Lv_Text
|
m_Name: Lv_Text
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -260,40 +169,40 @@ GameObject:
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &826302246741294294
|
--- !u!224 &2887869641152754374
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {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_LocalRotation: {x: 0, y: 0, z: -0.38268343, w: 0.92387956}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 3572295776350739363}
|
m_Father: {fileID: 1366565084877804979}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -45}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 25, y: 0}
|
m_AnchoredPosition: {x: 25, y: 0}
|
||||||
m_SizeDelta: {x: 50, y: 50}
|
m_SizeDelta: {x: 50, y: 50}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &8348373391610579798
|
--- !u!222 &5818434108796290374
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2239215118888221249}
|
m_GameObject: {fileID: 4356970860310983761}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!114 &930435567296964351
|
--- !u!114 &3426616548914866415
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2239215118888221249}
|
m_GameObject: {fileID: 4356970860310983761}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||||
|
|
@ -378,7 +287,7 @@ MonoBehaviour:
|
||||||
m_hasFontAssetChanged: 0
|
m_hasFontAssetChanged: 0
|
||||||
m_baseMaterial: {fileID: 0}
|
m_baseMaterial: {fileID: 0}
|
||||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
--- !u!1 &4780834605125018357
|
--- !u!1 &4554124963603875921
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -386,9 +295,163 @@ GameObject:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1340310372456599764}
|
- component: {fileID: 1349146564529175375}
|
||||||
- component: {fileID: 3615331207690971310}
|
- component: {fileID: 2409249015060560840}
|
||||||
- component: {fileID: 4963624523132789964}
|
- 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_Layer: 5
|
||||||
m_Name: Lv_Icon
|
m_Name: Lv_Icon
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -396,41 +459,41 @@ GameObject:
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &1340310372456599764
|
--- !u!224 &3602288774921871044
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 4780834605125018357}
|
m_GameObject: {fileID: 7006673165263531237}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 3572295776350739363}
|
- {fileID: 1366565084877804979}
|
||||||
m_Father: {fileID: 3593162250881824095}
|
m_Father: {fileID: 3335349825557693986}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 0, y: 0.5}
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
m_AnchoredPosition: {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}
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
--- !u!222 &3615331207690971310
|
--- !u!222 &1245358773147117246
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 4780834605125018357}
|
m_GameObject: {fileID: 7006673165263531237}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!114 &4963624523132789964
|
--- !u!114 &7459664762950593244
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 4780834605125018357}
|
m_GameObject: {fileID: 7006673165263531237}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
|
@ -454,7 +517,27 @@ MonoBehaviour:
|
||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
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:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|
@ -462,9 +545,67 @@ GameObject:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 4399971679552303507}
|
- component: {fileID: 4049409936139067614}
|
||||||
- component: {fileID: 5463595698359086019}
|
- component: {fileID: 7897516209225603021}
|
||||||
- component: {fileID: 6841168128043689614}
|
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_Layer: 5
|
||||||
m_Name: ValueBar
|
m_Name: ValueBar
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -472,40 +613,40 @@ GameObject:
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!224 &4399971679552303507
|
--- !u!224 &2192001012308000643
|
||||||
RectTransform:
|
RectTransform:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {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_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 3593162250881824095}
|
m_Father: {fileID: 4049409936139067614}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: 30, y: 0}
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
m_SizeDelta: {x: -80, y: -20}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &5463595698359086019
|
--- !u!222 &7545443590116206035
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 6738646015388748484}
|
m_GameObject: {fileID: 9142344050337989844}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!114 &6841168128043689614
|
--- !u!114 &9049118729200265374
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 6738646015388748484}
|
m_GameObject: {fileID: 9142344050337989844}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public partial class PlayerController : MonoBehaviour, IDamageable
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// 이벤트
|
// 이벤트
|
||||||
public event Action<int, float, float> OnExpChanged;
|
public event Action<string, float, float> OnExpChanged;
|
||||||
|
|
||||||
|
|
||||||
// 상태 정보
|
// 상태 정보
|
||||||
|
|
@ -109,6 +109,8 @@ public partial class PlayerController : MonoBehaviour, IDamageable
|
||||||
// EquipWeapon(_shieldSocket, "Prefabs/Equipment/Shield");
|
// EquipWeapon(_shieldSocket, "Prefabs/Equipment/Shield");
|
||||||
|
|
||||||
SubscribeAction();
|
SubscribeAction();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SubscribeAction()
|
void SubscribeAction()
|
||||||
|
|
@ -117,9 +119,11 @@ public partial class PlayerController : MonoBehaviour, IDamageable
|
||||||
Manager.Input.MoveAction += OnMove;
|
Manager.Input.MoveAction += OnMove;
|
||||||
|
|
||||||
Manager.Input.RegisterAction("Button_Attack", OnAttack);
|
Manager.Input.RegisterAction("Button_Attack", OnAttack);
|
||||||
|
|
||||||
_magnet.OnGetExp -= OnGetExp;
|
_magnet.OnGetExp -= OnGetExp;
|
||||||
_magnet.OnGetExp += OnGetExp;
|
_magnet.OnGetExp += OnGetExp;
|
||||||
|
|
||||||
|
SetEXPBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 애니메이터 세팅 (지금은 한 줄 뿐이지만 후에 더 추가될 수도)
|
// 애니메이터 세팅 (지금은 한 줄 뿐이지만 후에 더 추가될 수도)
|
||||||
|
|
@ -309,10 +313,21 @@ public partial class PlayerController : MonoBehaviour, IDamageable
|
||||||
if (_status != null)
|
if (_status != null)
|
||||||
{
|
{
|
||||||
_status.ApplyExp(amount);
|
_status.ApplyExp(amount);
|
||||||
OnExpChanged?.Invoke(_status.Level ,_status.Exp, _status.MaxExp);
|
SetEXPBar();
|
||||||
|
|
||||||
Debug.Log($"Player Exp: {amount} / {_status.Exp}");
|
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
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
8
Assets/Scripts/Events.meta
Normal file
8
Assets/Scripts/Events.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aa772244b3181411bae9458cc0378c54
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
46
Assets/Scripts/Events/EventBus.cs
Normal file
46
Assets/Scripts/Events/EventBus.cs
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
public class EventBus
|
||||||
|
{
|
||||||
|
private static Dictionary<Type, Delegate> s_event = new();
|
||||||
|
|
||||||
|
public static void Subscribe<T>(Action<T> 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<T>(Action<T> 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>(T eventArgs)
|
||||||
|
{
|
||||||
|
if (s_event.TryGetValue(typeof(T), out var exisingDelegate))
|
||||||
|
{
|
||||||
|
(exisingDelegate as Action<T>)?.Invoke(eventArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
2
Assets/Scripts/Events/EventBus.cs.meta
Normal file
2
Assets/Scripts/Events/EventBus.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ca004378d725f48618d0b21a682f77db
|
||||||
10
Assets/Scripts/Events/PlayerEvents.cs
Normal file
10
Assets/Scripts/Events/PlayerEvents.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
//PlayerEvents
|
||||||
|
public struct PlayerExpEvent
|
||||||
|
{
|
||||||
|
public string Level;
|
||||||
|
public float CurrentExp;
|
||||||
|
public float MaxExp;
|
||||||
|
}
|
||||||
2
Assets/Scripts/Events/PlayerEvents.cs.meta
Normal file
2
Assets/Scripts/Events/PlayerEvents.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 635604a76b8f84527903793a07ec01df
|
||||||
|
|
@ -6,20 +6,20 @@ using UnityEngine.InputSystem;
|
||||||
|
|
||||||
public class InputManager: IManager
|
public class InputManager: IManager
|
||||||
{
|
{
|
||||||
|
private InputActions _action;
|
||||||
|
private Dictionary<string, Action> _registeredActions = new Dictionary<string, Action>();
|
||||||
|
|
||||||
|
public Joystick JoyStick { get; set; }
|
||||||
// 화면 터치를 어떻게 받아올건지에 대한 액션
|
// 화면 터치를 어떻게 받아올건지에 대한 액션
|
||||||
public Action<Define.InputEvent> InputAction = null;
|
public Action<Define.InputEvent> InputAction = null;
|
||||||
// 화면의 터치하는 실시간 좌표를 사용하는 기능을 위한 액션
|
// 화면의 터치하는 실시간 좌표를 사용하는 기능을 위한 액션
|
||||||
public Action<Vector2> PointAction = null;
|
public Action<Vector2> PointAction = null;
|
||||||
// 조이스틱의 이동을 담당하는 액션
|
// 조이스틱의 이동을 담당하는 액션
|
||||||
public Action<Vector2> MoveAction = null;
|
public Action<Vector2> MoveAction = null;
|
||||||
private InputActions _action;
|
|
||||||
public Joystick JoyStick { get; set; }
|
|
||||||
|
|
||||||
private Dictionary<string, Action> _registeredActions = new Dictionary<string, Action>();
|
|
||||||
|
|
||||||
|
|
||||||
bool _pressed = false;
|
bool _pressed = false;
|
||||||
float _pressedTime = 0.0f;
|
float _pressedTime = 0.0f;
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
_action = new InputActions();
|
_action = new InputActions();
|
||||||
|
|
@ -102,11 +102,15 @@ public class InputManager: IManager
|
||||||
if (_registeredActions.ContainsKey(name)) _registeredActions[name] -= action;
|
if (_registeredActions.ContainsKey(name)) _registeredActions[name] -= action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: ACTION INVOKE
|
||||||
public void OnClicked(string name)
|
public void OnClicked(string name)
|
||||||
{
|
{
|
||||||
if(_registeredActions.TryGetValue(name, out Action action)) action?.Invoke();
|
if(_registeredActions.TryGetValue(name, out Action action)) action?.Invoke();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//MARK: CLEAR
|
||||||
public void Clear()
|
public void Clear()
|
||||||
{
|
{
|
||||||
_action.Dispose();
|
_action.Dispose();
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
@ -24,6 +25,9 @@ public class UIManager : IManager
|
||||||
private readonly Dictionary<string, GameObject> _objects = new ();
|
private readonly Dictionary<string, GameObject> _objects = new ();
|
||||||
private readonly Dictionary<string, GameObject> _instances = new();
|
private readonly Dictionary<string, GameObject> _instances = new();
|
||||||
private readonly Dictionary<string, bool> _switchObjects = new ();
|
private readonly Dictionary<string, bool> _switchObjects = new ();
|
||||||
|
|
||||||
|
private Dictionary<string, Action<string, float, float>> _registeredBarActions = new ();
|
||||||
|
|
||||||
|
|
||||||
public void Init()
|
public void Init()
|
||||||
{
|
{
|
||||||
|
|
@ -74,21 +78,18 @@ public class UIManager : IManager
|
||||||
|
|
||||||
#region UI Object 특화 메서드
|
#region UI Object 특화 메서드
|
||||||
|
|
||||||
#region ExpBar 메서드
|
#region Bar 메서드
|
||||||
public void ExclusiveExpBar()
|
public void SubscribeToBarAction(string name, Action<string, float, float> action)
|
||||||
{
|
{
|
||||||
PlayerController player = GameObject.FindObjectOfType<PlayerController>();
|
if (!_registeredBarActions.ContainsKey(name)) _registeredBarActions[name] = null;
|
||||||
if (player != null)
|
_registeredBarActions[name] -= action;
|
||||||
{
|
_registeredBarActions[name] += action;
|
||||||
player.OnExpChanged -= UpdateExpBar;
|
|
||||||
player.OnExpChanged += UpdateExpBar;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateExpBar(int level, float currentExp, float maxExp)
|
public Action<string, float, float> GetBarAction(string name)
|
||||||
{
|
{
|
||||||
ExpBar expBar = _instances["ExpBar"].GetComponent<ExpBar>();
|
_registeredBarActions.TryGetValue(name, out var action);
|
||||||
expBar.UpdateValue(level, currentExp, maxExp);
|
return action;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Unity.VisualScripting;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class GameScene : BaseScene
|
public class GameScene : BaseScene
|
||||||
|
|
@ -8,56 +7,36 @@ public class GameScene : BaseScene
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|
||||||
_sceneType = Define.Scene.Game;
|
_sceneType = Define.Scene.Game;
|
||||||
Manager.UI.UIList = new List<string> { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"};
|
|
||||||
// var onList = new[] { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"};
|
|
||||||
|
|
||||||
Manager.UI.SwitchOnObject<ExpBar>("ExpBar", true);
|
Manager.UI.UIList = new List<string> { "ExpBar" , "JoyStick", "Button_Attack", "Button_Defence"};
|
||||||
|
|
||||||
|
// Manager.UI.SwitchOnObject<ExpBar>("ExpBar", true);
|
||||||
|
|
||||||
Manager.UI.SwitchOnObject<Joystick>("JoyStick", true);
|
Manager.UI.SwitchOnObject<Joystick>("JoyStick", true);
|
||||||
|
|
||||||
UIButton atkbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Attack", true);
|
UIButton atkbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Attack", true);
|
||||||
|
|
||||||
if (atkbtn != null)
|
if (atkbtn != null)
|
||||||
{
|
{
|
||||||
atkbtn.SetButtonContents(null,"공", false, true);
|
atkbtn.SetButtonContents(null,"공", false, true);
|
||||||
atkbtn.SetButtonRect("Button_Attack", new Vector2(50, 150));
|
atkbtn.SetButtonRect("Button_Attack",
|
||||||
atkbtn.OnButtonClicked += Manager.Input.OnClicked;
|
|
||||||
}
|
|
||||||
|
|
||||||
UIButton defbtn = Manager.UI.SwitchOnObject<UIButton>("Button_Defence", true);
|
|
||||||
if (defbtn != null)
|
|
||||||
{
|
|
||||||
defbtn.SetButtonContents(null,"방", false, true);
|
|
||||||
defbtn.SetButtonRect(
|
|
||||||
"Button_Defence",
|
|
||||||
new Vector2(-100f - 180f / 2, 100f + 180f / 2),
|
new Vector2(-100f - 180f / 2, 100f + 180f / 2),
|
||||||
180.0f,180.0f,
|
180.0f,180.0f,
|
||||||
new Vector2(1, 0),
|
new Vector2(1, 0),
|
||||||
new Vector2(0.5f, 0.5f)
|
new Vector2(0.5f, 0.5f)
|
||||||
);
|
);
|
||||||
// defbtn.Bind(() => Debug.Log("Defence Button Clicked"));
|
atkbtn.OnButtonClicked += Manager.Input.OnClicked;
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager.UI.ExclusiveExpBar();
|
UIBar expBar = Manager.UI.SwitchOnObject<UIBar>("ExpBar", true);
|
||||||
CreateSpawner();
|
if (expBar != null)
|
||||||
}
|
{
|
||||||
void CreateJoyStick()
|
expBar.SwitchObject(true,true);
|
||||||
{
|
}
|
||||||
// GameObject joystick = Manager.Resource.Instantiate("Prefabs/UI/VirtualJoyStick", GameObject.Find("@Canvas").transform);
|
|
||||||
// joystick.AddComponent<VirtualJoystick>();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CreateButtons()
|
|
||||||
{
|
|
||||||
Button_Action buttons = _canvas.AddComponent<Button_Action>();
|
|
||||||
|
|
||||||
// if (buttons != null)
|
|
||||||
// {
|
CreateSpawner();
|
||||||
// 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"));
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateSpawner()
|
void CreateSpawner()
|
||||||
|
|
@ -76,9 +55,10 @@ public class GameScene : BaseScene
|
||||||
|
|
||||||
public override void Clear()
|
public override void Clear()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,11 @@ public class ExpBar : MonoBehaviour
|
||||||
private Image _valueBar;
|
private Image _valueBar;
|
||||||
private TMPro.TextMeshProUGUI _levelText;
|
private TMPro.TextMeshProUGUI _levelText;
|
||||||
|
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
_valueBar = transform.Find("ValueBar").GetComponent<Image>();
|
_valueBar = transform.Find("Stack/ImageStack/ValueBar").GetComponent<Image>();
|
||||||
_levelText = transform.Find("Lv_Icon/Lv_BackGround/Lv_Text").GetComponent<TextMeshProUGUI>();
|
_levelText = transform.Find("Stack/Lv_Icon/Lv_BackGround/Lv_Text").GetComponent<TextMeshProUGUI>();
|
||||||
|
|
||||||
RectTransform fillRect = _valueBar.rectTransform;
|
RectTransform fillRect = _valueBar.rectTransform;
|
||||||
fillRect.anchorMax = new Vector2(0, 1);
|
fillRect.anchorMax = new Vector2(0, 1);
|
||||||
|
|
|
||||||
149
Assets/Scripts/UI/UIBar.cs
Normal file
149
Assets/Scripts/UI/UIBar.cs
Normal file
|
|
@ -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<TMPro.TextMeshProUGUI>();
|
||||||
|
private TMPro.TextMeshProUGUI _maxText;// = _barText.transform.Find("MaxText").GetComponent<TMPro.TextMeshProUGUI>();
|
||||||
|
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<string, float, float> _onUpdateAction;
|
||||||
|
|
||||||
|
enum BarType
|
||||||
|
{
|
||||||
|
Exp,
|
||||||
|
Health,
|
||||||
|
Mana,
|
||||||
|
Stamina
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
_valueBar = transform.Find("Stack/ImageStack/ValueBar").GetComponent<Image>();
|
||||||
|
|
||||||
|
_icon = transform.Find("Stack/Icon").gameObject;
|
||||||
|
if (_icon != null)
|
||||||
|
_iconText = _icon.transform.Find("BackGround/Text").GetComponent<TMPro.TextMeshProUGUI>();
|
||||||
|
|
||||||
|
_barText = transform.Find("BarText").gameObject;
|
||||||
|
if (_barText != null)
|
||||||
|
{
|
||||||
|
_currentText = _barText.transform.Find("CurrentText").GetComponent<TMPro.TextMeshProUGUI>();
|
||||||
|
_maxText = _barText.transform.Find("MaxText").GetComponent<TMPro.TextMeshProUGUI>();
|
||||||
|
}
|
||||||
|
|
||||||
|
RectTransform fillRect = _valueBar.rectTransform;
|
||||||
|
fillRect.anchorMax = new Vector2(0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void OnEnable()
|
||||||
|
{
|
||||||
|
switch (_type)
|
||||||
|
{
|
||||||
|
case BarType.Exp:
|
||||||
|
EventBus.Subscribe<PlayerExpEvent>(OnExpChanged);
|
||||||
|
break;
|
||||||
|
case BarType.Health:
|
||||||
|
break;
|
||||||
|
case BarType.Mana:
|
||||||
|
break;
|
||||||
|
case BarType.Stamina:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDisable()
|
||||||
|
{
|
||||||
|
switch (_type)
|
||||||
|
{
|
||||||
|
case BarType.Exp:
|
||||||
|
EventBus.Unsubscribe<PlayerExpEvent>(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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
2
Assets/Scripts/UI/UIBar.cs.meta
Normal file
2
Assets/Scripts/UI/UIBar.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bafb0a552d3a0462db4149824a87bb91
|
||||||
|
|
@ -8,7 +8,8 @@ public class Define
|
||||||
{"JoyStick", "Prefabs/UI/JoyStick"},
|
{"JoyStick", "Prefabs/UI/JoyStick"},
|
||||||
{"Button_Attack", "Prefabs/UI/Button"},
|
{"Button_Attack", "Prefabs/UI/Button"},
|
||||||
{"Button_Defence", "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;
|
public static string MapPath(string name) => PathtoObject.TryGetValue(name, out string path) ? path : string.Empty;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user