diff --git a/Assets/PerfectWorld/Prefab/UI/HUD.prefab b/Assets/PerfectWorld/Prefab/UI/HUD.prefab index 1f37053c03..1f76eed784 100644 --- a/Assets/PerfectWorld/Prefab/UI/HUD.prefab +++ b/Assets/PerfectWorld/Prefab/UI/HUD.prefab @@ -709,6 +709,81 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1890154997624112612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5857173885418295131} + - component: {fileID: 9194804127523329041} + - component: {fileID: 6875102937128418963} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5857173885418295131 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890154997624112612} + 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: 7132502693153415359} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9194804127523329041 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890154997624112612} + m_CullTransparentMesh: 1 +--- !u!114 &6875102937128418963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1890154997624112612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -2152444580018807177, guid: 7c25a5fa6c0f21a4293b99a5a43b5441, type: 3} + 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 &2461742091615804038 GameObject: m_ObjectHideFlags: 0 @@ -1144,8 +1219,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 133.1923, y: -138.03845} - m_SizeDelta: {x: 0, y: 11} + m_AnchoredPosition: {x: 359, y: -117} + m_SizeDelta: {x: 155, y: 11} m_Pivot: {x: 0, y: 0.5} --- !u!222 &8758771894336849492 CanvasRenderer: @@ -1422,6 +1497,91 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &3661057301147371696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4263483627851733539} + - component: {fileID: 55052431434720645} + m_Layer: 5 + m_Name: BuffIconTemplate + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4263483627851733539 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3661057301147371696} + 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: 7132502693153415359} + m_Father: {fileID: 3313561919066668394} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &55052431434720645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3661057301147371696} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 0 + m_TargetGraphic: {fileID: 5829386100209031614} + toggleTransition: 1 + graphic: {fileID: 6875102937128418963} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 --- !u!1 &3663290235883915697 GameObject: m_ObjectHideFlags: 0 @@ -1763,6 +1923,7 @@ RectTransform: - {fileID: 5777532589522199890} - {fileID: 3450976418008317958} - {fileID: 7708887638066944733} + - {fileID: 3313561919066668394} - {fileID: 8118804085881780215} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2414,6 +2575,96 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 1 +--- !u!1 &7460415030577292257 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7132502693153415359} + - component: {fileID: 5402126495018243001} + - component: {fileID: 5829386100209031614} + - component: {fileID: 6545706864722760014} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7132502693153415359 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460415030577292257} + 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: 5857173885418295131} + m_Father: {fileID: 4263483627851733539} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 10, y: -10} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5402126495018243001 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460415030577292257} + m_CullTransparentMesh: 1 +--- !u!114 &5829386100209031614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460415030577292257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 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 &6545706864722760014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7460415030577292257} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 1 --- !u!1 &7965461020241720480 GameObject: m_ObjectHideFlags: 0 @@ -2640,3 +2891,90 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8147232008203518679 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3313561919066668394} + - component: {fileID: 1197864994416983139} + - component: {fileID: 7327847462688841216} + - component: {fileID: 4070222877379841836} + m_Layer: 5 + m_Name: Panel (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3313561919066668394 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8147232008203518679} + 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: 4263483627851733539} + m_Father: {fileID: 6806681442789174374} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 133.1923, y: -138.03845} + m_SizeDelta: {x: 0, y: 11} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &1197864994416983139 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8147232008203518679} + m_CullTransparentMesh: 1 +--- !u!114 &7327847462688841216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8147232008203518679} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 25 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &4070222877379841836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8147232008203518679} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 2 + m_VerticalFit: 0 diff --git a/Assets/PerfectWorld/Prefab/UIManager.prefab b/Assets/PerfectWorld/Prefab/UIManager.prefab index a8ae027619..4c787bab10 100644 --- a/Assets/PerfectWorld/Prefab/UIManager.prefab +++ b/Assets/PerfectWorld/Prefab/UIManager.prefab @@ -638,7 +638,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: f0f6993d8df90de429f182e7d49a89f7, type: 3} + m_Sprite: {fileID: 21300000, guid: 01bd381b48aad4adcb84acce69e7ad24, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -9098,7 +9098,6 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 5764038139312484550} - {fileID: 6786429404299599781} - {fileID: 7694234354329176817} - {fileID: 5021554174223885099} @@ -9106,6 +9105,7 @@ RectTransform: - {fileID: 8510105846984656271} - {fileID: 4139081827044063170} - {fileID: 7693611257239889377} + - {fileID: 5764038139312484550} - {fileID: 7592287337898200118} m_Father: {fileID: 3233441867675090637} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -10578,7 +10578,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -319, y: 72.8999} + m_AnchoredPosition: {x: -366, y: 54} m_SizeDelta: {x: 84, y: 98} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5968563249516142148 @@ -11299,7 +11299,9 @@ MonoBehaviour: skillNameText: {fileID: 0} imageProgress: {fileID: 0} uiSkillButton: {fileID: 1484158212461992110} + uiAssignSkillButton: {fileID: 3134606437297610210} skillUI: {fileID: 5226149676194325592} + assignSkill: {fileID: 7505870794604186929} --- !u!114 &7367406124028344242 MonoBehaviour: m_ObjectHideFlags: 0 @@ -11820,6 +11822,126 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7197017144444982395 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7889600498641702394} + - component: {fileID: 2399190332287992699} + - component: {fileID: 6234942445979735913} + - component: {fileID: 3134606437297610210} + m_Layer: 5 + m_Name: ButtonAssignSkill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7889600498641702394 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7197017144444982395} + 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: 3483809415181351540} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -256, y: 55.100067} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2399190332287992699 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7197017144444982395} + m_CullTransparentMesh: 1 +--- !u!114 &6234942445979735913 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7197017144444982395} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 01bd381b48aad4adcb84acce69e7ad24, type: 3} + 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 &3134606437297610210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7197017144444982395} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6234942445979735913} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &7222864739775630687 GameObject: m_ObjectHideFlags: 0 @@ -11991,6 +12113,7 @@ RectTransform: - {fileID: 6068541250920471714} - {fileID: 984617901920738932} - {fileID: 2783469216819378410} + - {fileID: 7889600498641702394} - {fileID: 8913509984865075419} - {fileID: 7306104429597638794} - {fileID: 5823843793071880086} @@ -12004,6 +12127,7 @@ RectTransform: - {fileID: 6484535971067043072} - {fileID: 4528532603973220147} - {fileID: 4742272256638967314} + - {fileID: 5087414730531131461} m_Father: {fileID: 3233441867675090637} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -20428,6 +20552,10 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 7688900625148083785, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + propertyPath: m_skillIconImgPic + value: + objectReference: {fileID: 8716511172440719883} - target: {fileID: 8029283128219612690, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} propertyPath: m_AnchorMax.y value: 0 @@ -20480,7 +20608,8 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 4150652358465390995, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] @@ -20501,6 +20630,266 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a9e669c5ab4137449aacd686ed4d5d9f, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!114 &8716511172440719883 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3570615909317101328, guid: b78469eadfa272c4f8fee4c8cae4b26f, type: 3} + m_PrefabInstance: {fileID: 5294584971749082395} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67fd391520cbfd44f84a1c6bb57673c0, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &5633980288934333260 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3483809415181351540} + m_Modifications: + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.x + value: 2160 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.y + value: 1215 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0.000068665 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.x + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 1393150187127059081, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 109.9562 + objectReference: {fileID: 0} + - target: {fileID: 1617375721872166299, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -34.01085 + objectReference: {fileID: 0} + - target: {fileID: 2606804668300983452, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.y + value: -585.2 + objectReference: {fileID: 0} + - target: {fileID: 2767451028238277408, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2767451028238277408, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2767451028238277408, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.y + value: 144.8 + objectReference: {fileID: 0} + - target: {fileID: 2767451028238277408, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 382.81186 + objectReference: {fileID: 0} + - target: {fileID: 2767451028238277408, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -92.4 + objectReference: {fileID: 0} + - target: {fileID: 4854616395463442219, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4854616395463442219, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4854616395463442219, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 127 + objectReference: {fileID: 0} + - target: {fileID: 4854616395463442219, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -18.5 + objectReference: {fileID: 0} + - target: {fileID: 5209698742198332103, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5209698742198332103, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5209698742198332103, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_SizeDelta.y + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 5209698742198332103, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 341.445 + objectReference: {fileID: 0} + - target: {fileID: 5209698742198332103, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -104.8 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 289.8686 + objectReference: {fileID: 0} + - target: {fileID: 5818092462432985527, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -34.01085 + objectReference: {fileID: 0} + - target: {fileID: 6238266639003596740, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_Name + value: AssignSkill + objectReference: {fileID: 0} + - target: {fileID: 6238266639003596740, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.x + value: 469.781 + objectReference: {fileID: 0} + - target: {fileID: 9184880796936692226, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + propertyPath: m_AnchoredPosition.y + value: -34.01085 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} +--- !u!224 &5087414730531131461 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 627631504828013321, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + m_PrefabInstance: {fileID: 5633980288934333260} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7505870794604186929 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2739840595217827453, guid: c7269974711314d68bdb2103c9ecebbd, type: 3} + m_PrefabInstance: {fileID: 5633980288934333260} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58821e719357c4940be20d0af5869b88, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &7509275976277896982 PrefabInstance: m_ObjectHideFlags: 0 @@ -21346,6 +21735,10 @@ PrefabInstance: propertyPath: m_btnOpenCharacter value: objectReference: {fileID: 3803409312124193147} + - target: {fileID: 3313561919066668394, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3414706020273276291, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} propertyPath: m_Type value: 3 @@ -21374,6 +21767,22 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 4263483627851733539, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4263483627851733539, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4263483627851733539, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4263483627851733539, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4823752405346273106, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} propertyPath: m_Name value: HUDPlayer @@ -21490,14 +21899,6 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 7708887638066944733, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} - propertyPath: m_AnchoredPosition.x - value: 359 - objectReference: {fileID: 0} - - target: {fileID: 7708887638066944733, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} - propertyPath: m_AnchoredPosition.y - value: -117 - objectReference: {fileID: 0} - target: {fileID: 7924665791547601326, guid: 76408ccdbeb4c654291462fcff24a8c5, type: 3} propertyPath: m_AnchorMax.y value: 0 diff --git a/Assets/PerfectWorld/Resources/UI/Inventory/tab2.png.meta b/Assets/PerfectWorld/Resources/UI/Inventory/tab2.png.meta index b9966dfa2e..31e5628aaa 100644 --- a/Assets/PerfectWorld/Resources/UI/Inventory/tab2.png.meta +++ b/Assets/PerfectWorld/Resources/UI/Inventory/tab2.png.meta @@ -49,7 +49,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteBorder: {x: 4, y: 4, z: 4, w: 2} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 @@ -114,7 +114,7 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 + internalID: 1537655665 vertices: [] indices: edges: [] diff --git a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs index a15f35e448..cdddcd410b 100644 --- a/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs +++ b/Assets/PerfectWorld/Scripts/Objet/Shortcut/CECShortcutSet.cs @@ -65,7 +65,12 @@ namespace BrewMonster return true; } - + public CECShortcutSet Clone() + { + var temp = new CECShortcutSet(); + temp.m_aShortcuts = new List(m_aShortcuts); + return temp; + } /// /// Release all shortcuts and clear the set /// @@ -761,6 +766,7 @@ namespace BrewMonster } #endregion + } #region Placeholder Classes diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgInfoTooltip.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgInfoTooltip.cs index e72d29e71b..a324357d56 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgInfoTooltip.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgInfoTooltip.cs @@ -7,7 +7,8 @@ using BrewMonster.Scripts.UI; using BrewMonster.UI; using UnityEngine; using UnityEngine.UI; - +using System; +using TMPro; namespace BrewMonster { /// @@ -19,6 +20,7 @@ namespace BrewMonster [Header("Tooltip Components")] [SerializeField] private GameObject panelRoot; [SerializeField] private EC_UIUtility.TextOutlet descriptionText; + [SerializeField] private Button ActionButton; [SerializeField] private Button closeButton; [Header("Positioning Settings")] @@ -79,14 +81,24 @@ namespace BrewMonster /// /// The skill description and information to display /// The button RectTransform to position near - public void ShowTooltip(string hintText, RectTransform buttonRect) + public void ShowTooltip(string hintText, RectTransform buttonRect, Action triggerAction = null) { if (string.IsNullOrEmpty(hintText)) { Debug.LogWarning("[CDlgSkillTooltip] ShowTooltip called with empty hint text"); return; } - + if(triggerAction != null) + { + ActionButton.onClick.RemoveAllListeners(); + ActionButton.onClick.AddListener(() => triggerAction()); + ActionButton.GetComponentInChildren().text = "Trang bi"; + ActionButton.gameObject.SetActive(true); + } + else + { + ActionButton.gameObject.SetActive(false); + } // Set description text if (descriptionText != null) { @@ -158,5 +170,6 @@ namespace BrewMonster { HideTooltip(); } + } } diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillAction.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillAction.cs index 9db5c6f4df..0726674f91 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillAction.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/CDlgSkillAction.cs @@ -10,7 +10,9 @@ namespace BrewMonster public class CDlgSkillAction : AUIDialog { [SerializeField] private Button uiSkillButton; + [SerializeField] private Button uiAssignSkillButton; [SerializeField] private SkillUI skillUI; + [SerializeField] private AssignSkill assignSkill; bool m_bOpenAction; bool m_bReceivedNCPGreeting; // �Ƿ��յ���NPC��Greeting @@ -19,24 +21,37 @@ namespace BrewMonster { base.Awake(); uiSkillButton.onClick.RemoveAllListeners(); - uiSkillButton.onClick.AddListener(OnSkillButtonClicked); + uiAssignSkillButton.onClick.RemoveAllListeners(); + EventBus.Subscribe(OnOpenSkillUIEvent); + EventBus.Subscribe(OnOpenAssignSkillUIEvent); + uiSkillButton.onClick.AddListener(OnSkillButtonClicked); + uiAssignSkillButton.onClick.AddListener(OnAssignSkillButtonClicked); } public void OnDestroy() { EventBus.Unsubscribe(OnOpenSkillUIEvent); + EventBus.Unsubscribe(OnOpenAssignSkillUIEvent); + } + private void OnOpenAssignSkillUIEvent(OpenAssignSkillUIEvent @event) + { + TryOpenAssignSkillDialog(false); } - private void OnOpenSkillUIEvent(OpenSkillUIEvent @event) { - TryOpenDialog(false); + TryOpenSkillDialog(false); } private void OnSkillButtonClicked() { - TryOpenDialog(false); + TryOpenSkillDialog(false); } - public void TryOpenDialog(bool bAction) + private void OnAssignSkillButtonClicked() + { + TryOpenAssignSkillDialog(false); + } + + public void TryOpenSkillDialog(bool bAction) { if(skillUI == null) { @@ -58,6 +73,29 @@ namespace BrewMonster SetReceivedNPCGreeting(false); } } + public void TryOpenAssignSkillDialog(bool bAction) + { + if(assignSkill == null) + { + return; + } + var boolll = assignSkill.gameObject.activeInHierarchy; + if (boolll) + { + assignSkill.gameObject.SetActive(!boolll); + return; + } + assignSkill.gameObject.SetActive(!boolll); + + if (assignSkill.gameObject.activeInHierarchy) + if (!GetHostPlayer().IsTalkingWithNPC()) + { + m_bOpenAction = bAction; + CECHostSkillModel.Instance.SendHelloToSkillLearnNPC(); + SetReceivedNPCGreeting(false); + } + } + public void SetReceivedNPCGreeting(bool bReceived) { m_bReceivedNCPGreeting = bReceived; diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs index ab532883b0..c92b20a4d7 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIImagePicture.cs @@ -1,4 +1,4 @@ -using BrewMonster.UI; +using BrewMonster.UI; using System; using System.Collections; using System.Collections.Generic; @@ -13,8 +13,9 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay { public class AUIImagePicture : MonoBehaviour { - [Header("AUIImagePicture")] - [SerializeField] CECShortcut pSC; + [Header("AUIImagePicture(Need Refactor)")] + [SerializeField] protected int slotIndex = -1; + [SerializeField] protected CECShortcut pSC; [SerializeField] Button skillbutton; [SerializeField] protected Image skillImage; [SerializeField] GameObject borderImage; @@ -31,7 +32,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay // Hint/tooltip data storage private string m_hintText = string.Empty; - private void Awake() + public virtual void Awake() { if (skillbutton == null) { @@ -44,8 +45,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay } public void SetDataPtr(CECShortcut pvData, string strName = null) { - pSC = pvData; - + pSC = pvData; } public void SetInteract(bool isInteract) { @@ -74,7 +74,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay } else { - EventBus.Publish(new OpenSkillUIEvent()); + EventBus.Publish(new OpenAssignSkillUIEvent()); } // Show tooltip if hint exists @@ -84,11 +84,16 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay if (uiManager != null) { var rectTransform = GetComponent(); - uiManager.ShowSkillTooltip(m_hintText, rectTransform); + int skillID = int.Parse(this.name.Split('_')[1]); + uiManager.ShowSkillTooltip(m_hintText, rectTransform, () => EventBus.Publish(new OpenAssignSkillEvent(skillID))); } } } - public void SetImage(Sprite sprite) + public void SetSlotIndex(int index) + { + slotIndex = index; + } + public virtual void SetImage(Sprite sprite) { if(skillImage == null) { @@ -96,6 +101,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay return; } skillImage.sprite = sprite; + skillImage.gameObject.SetActive(true); if(borderImage != null) borderImage.SetActive(true); } @@ -143,7 +149,7 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay { return m_hintText; } - public void Clear() + public virtual void Clear() { // BMLogger.Log("Clear AUIImagePicture with name: " + name) ; pSC = null; @@ -155,6 +161,8 @@ namespace BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay } public struct OpenSkillUIEvent { - + } + public struct OpenAssignSkillUIEvent + { } } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs new file mode 100644 index 0000000000..676ae894e8 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs @@ -0,0 +1,76 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster +{ + public class AUIToggle : AUIImagePicture + { + [Header("SkillToggleUI")] + [SerializeField] protected int skillID; + [SerializeField] protected Toggle uiToggle; + public override void Awake() + { + return; + } + public void SetSkillID(int id) + { + skillID = id; + } + public override void SetImage(Sprite sprite) + { + skillImage.sprite = sprite; + skillImage.gameObject.SetActive(true); + } + public override void Clear() + { + pSC = null; + this.SetDataPtr(null); + skillImage.gameObject.SetActive(false); + return; + } + } + + public struct OpenAssignSkillEvent + { + public int skillID; + public OpenAssignSkillEvent(int id) + { + skillID = id; + } + } + public struct CloseAssignSkillEvent + { + public int skillID; + public CloseAssignSkillEvent(int id) + { + skillID = id; + } + } + public struct OpenAssignSlotEvent + { + public int slotIndex; + public OpenAssignSlotEvent(int index) + { + slotIndex = index; + } + } + public struct CloseAssignSlotEvent + { + public int slotIndex; + public CloseAssignSlotEvent(int index) + { + slotIndex = index; + } + } + public struct OnAssignSkillEvent + { + public int skillID; + public int slotIndex; + public OnAssignSkillEvent(int skillID, int slotIndex) + { + this.skillID = skillID; + this.slotIndex = slotIndex; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs.meta b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs.meta new file mode 100644 index 0000000000..3eead804e5 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggle.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d6bc7886ac27f401f9c37f216148f56d \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs new file mode 100644 index 0000000000..b85c6f5b64 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs @@ -0,0 +1,51 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using UnityEngine; +using BrewMonster.UI; +using BrewMonster.Network; +namespace BrewMonster +{ + public class AUIToggleAssignSlot : AUIToggle + { + // [Header("AssignSlotToggleUI")] + // [SerializeField] int slotIndex; + public override void Awake() + { + UnSubscribeEvents(); + SubscribeEvents(); + return; + } + public void OnDestroy() + { + UnSubscribeEvents(); + } + private void UnSubscribeEvents() + { + uiToggle.onValueChanged.RemoveAllListeners(); + EventBus.Unsubscribe(OnAssignSlotEvent); + } + private void SubscribeEvents() + { + Debug.Log($"HoangDev: SubscribeEvents: AssignSlots"); + uiToggle.onValueChanged.AddListener(OnToggleValueChanged); + EventBus.Subscribe(OnAssignSlotEvent); + } + private void OnToggleValueChanged(bool isOn) + { + if (isOn) + { + EventBus.Publish(new OpenAssignSlotEvent(slotIndex)); + }else{ + EventBus.Publish(new CloseAssignSlotEvent(slotIndex)); + } + } + private void OnAssignSlotEvent(OnAssignSkillEvent @event) + { + if(@event.slotIndex == slotIndex) + { + var processSkill = CECGameRun.Instance.GetHostPlayer().GetPositiveSkillByID(@event.skillID); + EC_Game.GetGameRun().GetUIManager().GetInGameUIMan().SetCover(this, processSkill.GetIconFile(), EC_GAMEUI_ICONS.ICONS_SKILL); + uiToggle.isOn = false; + } + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs.meta b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs.meta new file mode 100644 index 0000000000..164e797d96 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleAssignSlot.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 44860f1468e264a099693e2f221b5e20 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs new file mode 100644 index 0000000000..598255858a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs @@ -0,0 +1,48 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster +{ + public class AUIToggleSkillAssign : AUIToggle + { + public override void Awake() + { + UnSubscribeEvents(); + SubscribeEvents(); + return; + } + public void OnDestroy() + { + UnSubscribeEvents(); + } + private void UnSubscribeEvents() + { + uiToggle.onValueChanged.RemoveAllListeners(); + EventBus.Unsubscribe(OnAssignSkillEvent); + } + private void SubscribeEvents() + { + Debug.Log($"HoangDev: SubscribeEvents: Slot"); + uiToggle.onValueChanged.AddListener(OnToggleValueChanged); + EventBus.Subscribe(OnAssignSkillEvent); + } + private void OnToggleValueChanged(bool isOn) + { + if (isOn) + { + EventBus.Publish(new OpenAssignSkillEvent(skillID)); + }else{ + EventBus.Publish(new CloseAssignSkillEvent(skillID)); + } + } + private void OnAssignSkillEvent(OnAssignSkillEvent @event) + { + if(@event.skillID != skillID) + { + return; + } + uiToggle.isOn = false; + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs.meta b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs.meta new file mode 100644 index 0000000000..96fd87db30 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/AUIToggleSkillAssign.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 83a3bc5f0b00d4d829f597bb59873554 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs index cc73699cdc..daeecb59dc 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/CdlgQuickBar.cs @@ -24,6 +24,9 @@ namespace BrewMonster public int m_nCurPanel2 = 1; int currentListIndex = 0; + int currentOffsetIndex = 0; + int currentSelectedSlotIndex = -1; + CECSkill assignedSkill = null; /// /// Apply for a license remove later /// @@ -43,6 +46,7 @@ namespace BrewMonster currentListIndex += 1; UpdateShortcuts(); } + public bool UpdateShortcuts() { CECShortcut pSC; @@ -66,10 +70,29 @@ namespace BrewMonster { currentListIndex = 0; } + currentOffsetIndex = 0; + for (int i = 0; i < a_pSCS.Count; i++) + { + if(i == currentListIndex) + { + break; + } + currentOffsetIndex += a_pSCS[i].GetShortcutNum(); + } + // currentOffsetIndex = 0; + // for(int i = 0; i < currentListIndex; i++) + // { + // if(i == currentListIndex) + // { + // break; + // } + // currentOffsetIndex += a_pSCS[i].GetShortcutNum(); + // } int nSlots = Mathf.Min(a_pSCS[currentListIndex].GetShortcutNum(), AUIImagePictureList.Count); for (int j = 0; j < nSlots; j++) { pCell = AUIImagePictureList[j]; + pCell.SetSlotIndex(currentOffsetIndex + j); if (pCell == null || !pCell.gameObject.activeInHierarchy) continue; pSC = a_pSCS[currentListIndex].GetShortcut(j); pClock = pCell.GetClockIcon(); @@ -423,6 +446,8 @@ namespace BrewMonster pszPanel.Add(dlgName); }*/ } + + public int GetCurPanel1() { return m_nCurPanel1; @@ -431,6 +456,5 @@ namespace BrewMonster { return m_nCurPanel2; } - } } diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs index 86d8d2474a..2112d37756 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/SkillUI/CDlgSkillSubListItem.cs @@ -202,6 +202,10 @@ namespace BrewMonster { BMLogger.LogError("HoangDev: CDlgSkillSubListItem m_skillNameLbl is null for skillID " + skillID); } + else + { + this.name = "Item_"+m_skillID; + } m_skillNameLbl.text = skillName; UpdateUpgradeBtn(); diff --git a/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs b/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs new file mode 100644 index 0000000000..3fbb173687 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs @@ -0,0 +1,61 @@ +using System; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster +{ + public class AssignSkill : MonoBehaviour + { + [SerializeField] private Button learnedSkillButton; + [SerializeField] private Button actionButton; + [SerializeField] private Button itemSkillButton; + [SerializeField] private Button buttonClose; + [SerializeField] private GameObject learnSkillUIPanel; + [SerializeField] private GameObject actionUIPanel; + [SerializeField] private GameObject itemUIPanel; + + private void Awake() + { + learnedSkillButton.onClick.RemoveAllListeners(); + actionButton.onClick.RemoveAllListeners(); + itemSkillButton.onClick.RemoveAllListeners(); + learnedSkillButton.onClick.AddListener(OnLearnedSkillButtonClicked); + actionButton.onClick.AddListener(OnActionButtonClicked); + itemSkillButton.onClick.AddListener(OnItemButtonClicked); + buttonClose.onClick.AddListener(OnCloseButtonClicked); + itemSkillButton.interactable = false; + } + void OnEnable() + { + learnSkillUIPanel.SetActive(true); + actionUIPanel.SetActive(false); + itemUIPanel.SetActive(false); + } + + private void OnLearnedSkillButtonClicked() + { + learnSkillUIPanel.SetActive(true); + actionUIPanel.SetActive(false); + itemUIPanel.SetActive(false); + } + + private void OnActionButtonClicked() + { + learnSkillUIPanel.SetActive(false); + actionUIPanel.SetActive(true); + learnSkillUIPanel.SetActive(false); + } + + private void OnItemButtonClicked() + { + itemUIPanel.SetActive(true); + actionUIPanel.SetActive(false); + learnSkillUIPanel.SetActive(false); + } + + private void OnCloseButtonClicked() + { + gameObject.SetActive(false); + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs.meta b/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs.meta new file mode 100644 index 0000000000..8620102d46 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/SkillUI/AssignSkill.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 58821e719357c4940be20d0af5869b88 diff --git a/Assets/PerfectWorld/Scripts/UI/SkillUI/DlgAssignSlots.cs b/Assets/PerfectWorld/Scripts/UI/SkillUI/DlgAssignSlots.cs new file mode 100644 index 0000000000..3402022c53 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/SkillUI/DlgAssignSlots.cs @@ -0,0 +1,486 @@ +//#define Applyforalicense + +using BrewMonster.Assets.PerfectWorld.Scripts.UI.GamePlay; +using BrewMonster.Network; +using BrewMonster.Scripts; +using BrewMonster.Scripts.Managers; +using BrewMonster.Scripts.Skills; +using BrewMonster.UI; +using CSNetwork.GPDataType; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.UI; +using static BrewMonster.PET_EGG_ESSENCE; + +namespace BrewMonster +{ + public class DlgAssignSlots : AUIDialog + { + //[SerializeField] List m_aSkillImage = new List(); + //[SerializeField] List