diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab index fc3370239b..6e6d6d4517 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/TaskWindow.prefab @@ -8005,99 +8005,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &8588325617128089111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1755208944688500795} - - component: {fileID: 6916443525973237579} - - component: {fileID: 3763656904659419767} - - component: {fileID: 3867069994250714290} - m_Layer: 5 - m_Name: TreeView - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1755208944688500795 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8588325617128089111} - 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: 3841808193842114691} - 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: -151.28992, y: 336.93002} - m_SizeDelta: {x: 319.58, y: 0} - m_Pivot: {x: 0, y: 1} ---- !u!114 &6916443525973237579 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8588325617128089111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8688b7d87bac4c16b9eaa3408f8ea419, type: 3} - m_Name: - m_EditorClassIdentifier: - m_pTreeViewItemPrefab: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3} - _currentSelectedItem: {fileID: 0} - m_aTreeViewItems: [] ---- !u!114 &3763656904659419767 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8588325617128089111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 0 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &3867069994250714290 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8588325617128089111} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 --- !u!1 &8632430288773790960 GameObject: m_ObjectHideFlags: 0 @@ -8745,3 +8652,116 @@ MonoBehaviour: m_ChildScaleWidth: 0 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 +--- !u!1001 &7843571476288588682 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3841808193842114691} + m_Modifications: + - target: {fileID: 2014844157387861405, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_Name + value: TreeView + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_Pivot.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_Pivot.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_SizeDelta.x + value: 319.58 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchoredPosition.x + value: -151.28992 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_AnchoredPosition.y + value: 336.93002 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 9456de25596014039bd4d0d3927b709a, type: 3} +--- !u!224 &1755208944688500795 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + m_PrefabInstance: {fileID: 7843571476288588682} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6916443525973237579 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3685582830533743809, guid: 9456de25596014039bd4d0d3927b709a, type: 3} + m_PrefabInstance: {fileID: 7843571476288588682} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8688b7d87bac4c16b9eaa3408f8ea419, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab new file mode 100644 index 0000000000..f2b888aef1 --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab @@ -0,0 +1,95 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2014844157387861405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8395333742829132721} + - component: {fileID: 3685582830533743809} + - component: {fileID: 6404897883559725565} + - component: {fileID: 6445602249794385720} + m_Layer: 5 + m_Name: TreeView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8395333742829132721 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014844157387861405} + 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: 0} + 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: -151.28992, y: 336.93002} + m_SizeDelta: {x: 319.58, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &3685582830533743809 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014844157387861405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8688b7d87bac4c16b9eaa3408f8ea419, type: 3} + m_Name: + m_EditorClassIdentifier: + m_pTreeViewItemPrefab: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3} + _currentSelectedItem: {fileID: 0} + m_aTreeViewItems: [] +--- !u!114 &6404897883559725565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014844157387861405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, 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: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &6445602249794385720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014844157387861405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab.meta new file mode 100644 index 0000000000..d13bbf9a4e --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9456de25596014039bd4d0d3927b709a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab index 970cca72bb..929c2a86d3 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab @@ -53,7 +53,13 @@ MonoBehaviour: m_EditorClassIdentifier: m_text: {fileID: 1383932928540251694} m_Button: {fileID: 1762532130762754577} + _levelSprites: + - {fileID: 21300000, guid: e09a5d2cb3c3f4c858754a1e90a44abd, type: 3} + - {fileID: 21300000, guid: 73873399fec964578b62204f20c40517, type: 3} + _expandButton: {fileID: 1715406348461528812} + _collapseButton: {fileID: 8676942769405651249} m_uItemData: 0 + _treeLevel: 0 OnClick: m_PersistentCalls: m_Calls: [] @@ -110,7 +116,7 @@ GameObject: - component: {fileID: 9062463037674165507} - component: {fileID: 1762532130762754577} m_Layer: 5 - m_Name: Button + m_Name: MainButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -129,6 +135,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5827054231092576763} + - {fileID: 7277676979067820762} + - {fileID: 2849245307131571463} m_Father: {fileID: 5053903421260846465} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -293,8 +301,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -314,9 +322,9 @@ MonoBehaviour: m_fontSize: 40 m_fontSizeBase: 40 m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_enableAutoSizing: 1 + m_fontSizeMin: 15 + m_fontSizeMax: 40 m_fontStyle: 0 m_HorizontalAlignment: 2 m_VerticalAlignment: 512 @@ -375,3 +383,285 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1 &4773363917894322918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2849245307131571463} + - component: {fileID: 8656005255261122099} + - component: {fileID: 9103345587361145036} + - component: {fileID: 8676942769405651249} + - component: {fileID: 2374156541160748953} + m_Layer: 5 + m_Name: CollapseBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2849245307131571463 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4773363917894322918} + 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: 3882154025378162395} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 35, y: 5.8} + m_SizeDelta: {x: 31, y: 21} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8656005255261122099 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4773363917894322918} + m_CullTransparentMesh: 1 +--- !u!114 &9103345587361145036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4773363917894322918} + 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: 9de07872267c5419b9fa9c849eb45858, 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 &8676942769405651249 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4773363917894322918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: 9103345587361145036} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2374156541160748953 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4773363917894322918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &6863650808120944178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7277676979067820762} + - component: {fileID: 885853373149276158} + - component: {fileID: 1569122208421759741} + - component: {fileID: 1715406348461528812} + - component: {fileID: 9213068811979301399} + m_Layer: 5 + m_Name: ExpandBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7277676979067820762 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863650808120944178} + 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: 3882154025378162395} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 35, y: 0} + m_SizeDelta: {x: 31, y: 21} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &885853373149276158 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863650808120944178} + m_CullTransparentMesh: 1 +--- !u!114 &1569122208421759741 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863650808120944178} + 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: 9de07872267c5419b9fa9c849eb45858, 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 &1715406348461528812 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863650808120944178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 0 + 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: 1569122208421759741} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &9213068811979301399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6863650808120944178} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs index 8ba28cf49f..d46a59bf9a 100644 --- a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs @@ -1,5 +1,8 @@ using System; using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; @@ -37,7 +40,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI if (m_aTreeViewItems == null) { - m_aTreeViewItems = GetComponentsInChildren(); + m_aTreeViewItems = GetComponentsInChildren(true); } for (int i = 0; i < m_aTreeViewItems.Length - 1; i++) @@ -62,8 +65,6 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI // Parent: root (this) if null; otherwise under given parent item var parentTransform = (pParent != null ? pParent.transform : this.transform); go.transform.SetParent(parentTransform, false); - RefreshLayout(parentTransform.GetComponent()); - RefreshLayout(this.GetComponent()); // Set sibling position: after specific item if provided; otherwise append to end if (pAfter != null && pAfter.transform.parent == parentTransform) @@ -80,21 +81,34 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI // var label = go.GetComponentInChildren(true); // if (label != null) label.text = text ?? string.Empty; pItem.SetItemText(text); + pItem.SetTreeLevel(pParent != null ? pParent.GetTreeLevel() + 1 : 0); // Refresh local cache of items - m_aTreeViewItems = GetComponentsInChildren(); + m_aTreeViewItems = GetComponentsInChildren(true); + + // pParent.RefreshLayout(); + if(pParent) pParent.SetExpand(false); // Collapse parent to show new item only when expanded return pItem; } public void DeleteAllItems() { + List childrenCopy = new(); foreach (Transform child in transform) { + // Destroy(child.GetComponent()); + childrenCopy.Add(child); + } + + foreach (var child in childrenCopy) + { + child.SetParent(null); Destroy(child.gameObject); } - + m_aTreeViewItems = null; + // m_aTreeViewItems = GetComponentsInChildren(true); _currentSelectedItem = null; } @@ -103,7 +117,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI { if (m_aTreeViewItems == null) { - m_aTreeViewItems = GetComponentsInChildren(); + m_aTreeViewItems = GetComponentsInChildren(true); } foreach (var item in m_aTreeViewItems) @@ -116,6 +130,11 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI return null; } + + public TaskTreeViewItem GetFirstChild() + { + return transform.childCount == 0 ? null : transform.GetChild(0).GetComponent(); + } public TaskTreeViewItem GetSelectedItem() { @@ -127,8 +146,10 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI _currentSelectedItem = GetItemByData(idItem); } - public void RefreshLayout(RectTransform parent) + public void RefreshLayout() { + var parent = GetComponent(); + // Force Unity to rebuild layout immediately parent.ForceUpdateRectTransforms(); LayoutRebuilder.ForceRebuildLayoutImmediate(parent); diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs index f466fa6872..22f4700be3 100644 --- a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs @@ -11,10 +11,14 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI { [SerializeField] private TMP_Text m_text; [SerializeField] private Button m_Button; + [SerializeField] private Sprite[] _levelSprites; + [SerializeField] private Button _expandButton; + [SerializeField] private Button _collapseButton; [Header("DEBUG")] [SerializeField] private uint m_uItemData; - + [SerializeField] private int _treeLevel; + private RectTransform _rectTransform; public UnityEvent OnClick = new UnityEvent(); @@ -23,8 +27,12 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI private void Awake() { m_Button.onClick.AddListener(OnBtnClick); + _expandButton.onClick.AddListener(OnExpandBtnClicked); + _collapseButton.onClick.AddListener(OnCollapseBtnClicked); + _expandButton.gameObject.SetActive(false); + _collapseButton.gameObject.SetActive(false); - + _rectTransform = GetComponent(); } // private void Start() @@ -39,6 +47,9 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI // } #endregion + + #region PUBLIC_METHODS + public void SetItemData(uint uItemData) { m_uItemData = uItemData; @@ -66,6 +77,34 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI m_text.text = text; } } + + public void SetTreeLevel(int level) + { + _treeLevel = level; + Image btnImage = m_Button.GetComponent(); + btnImage.sprite = _treeLevel < _levelSprites.Length ? _levelSprites[_treeLevel] : _levelSprites[^1]; + btnImage.SetNativeSize(); + } + + public int GetTreeLevel() => _treeLevel; + + public void SetExpand(bool expand) + { + var children = GetComponentsInChildren(true); + + for (int i=1; i(evt => { @@ -260,9 +260,9 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI private static string GetTaskNameWithColor(ATaskTempl pTempl) { if (pTempl == null) return string.Empty; - var type = (BrewMonster.Scripts.Task.ENUM_TASK_TYPE)pTempl.m_FixedData.m_ulType; + var type = (ENUM_TASK_TYPE)pTempl.m_FixedData.m_ulType; string rawName = ModelRenderer.Scripts.Common.ByteToStringUtils.UshortArrayToUnicodeString(pTempl.m_FixedData.m_szName); - if (type == BrewMonster.Scripts.Task.ENUM_TASK_TYPE.enumTTQiShaList && !string.IsNullOrEmpty(rawName) && rawName[0] == '^') + if (type == ENUM_TASK_TYPE.enumTTQiShaList && !string.IsNullOrEmpty(rawName) && rawName[0] == '^') { // 如果是七杀榜任务且已经加了颜色,则颜色不变 // If QiShaList task already has color, keep it return rawName; @@ -432,6 +432,10 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI SetActive(pTemp.m_FixedData.m_enumMethod == (uint)TaskCompletionMethod.enumTMReachTreasureZone); } } + else + { + Debug.LogError($"Task {idTask} not found ATaskTempl !!!"); + } } else { @@ -662,7 +666,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI // virtual bool OnInitDialog(); void OnShowDialog() { - // if (!m_idSelTask) + if (m_idSelTask != 0) UpdateTask(); } // virtual void OnHideDialog(); @@ -919,8 +923,20 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI return "Tu chân"; case 3103: return "Chủ tuyến"; + case 3104: + return "Phụ tuyến"; case 3105: return "Event"; + case 3106: + return "7 Killer List"; + case 3107: + return "Bang hội"; + case 3108: + return "Management"; + case 3109: + return "Huyền thoại"; + case 3110: + return "Câu hỏi"; case 3201: return "Gold:"; case 3202: @@ -936,7 +952,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI case 7621: return "NPC giao nhiệm vụ: "; default: - return "UnKnown String"; + return $"UnKnown_{id} "; } } @@ -1269,7 +1285,8 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI uint nAfterType = 0; TaskTreeViewItem pAfter = null, pParent = null; // P_AUITREEVIEW_ITEM pItem = pTreeTask->GetFirstChildItem(pTreeTask->GetRootItem()); - var pItem = pTreeTask.transform.parent.GetChild(0).GetComponent(); + // var pItem = pTreeTask.transform.parent.GetChild(0).GetComponent(); + var pItem = pTreeTask.GetFirstChild(); while( pItem ) { uint nType = pItem.GetItemData(); @@ -1284,6 +1301,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI pItem = pTreeTask.GetNextSiblingItem(pItem); } + // add Biggest node if not exist if(pParent ==null) { pParent = pTreeTask.InsertItem(GetStringFromTable(3101 + nTaskType - 100), null, pAfter); @@ -1292,7 +1310,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI pTreeTask.SetItemData(pParent, nTaskType); //if(nTaskType == enumTTLevel2) - //pTreeTask.SetItemTextColor(pParent, GetTaskColor(pTemp)); + // pTreeTask.SetItemTextColor(pParent, GetTaskColor(pTemp)); } CECTaskInterface pTask = GetHostPlayer().GetTaskInterface(); @@ -1326,7 +1344,7 @@ namespace BrewMonster.PerfectWorld.Scripts.Task.UI // Collect direct children under the tree root (this component's transform) int childCount = pTreeTask.transform.childCount; - var items = new System.Collections.Generic.List<(uint type, TaskTreeViewItem item)>(childCount); + var items = new List<(uint type, TaskTreeViewItem item)>(childCount); for (int i = 0; i < childCount; i++) { var child = pTreeTask.transform.GetChild(i).GetComponent();