diff --git a/Assets/PerfectWorld/Prefab/Task/TaskTrace.meta b/Assets/PerfectWorld/Prefab/Task/TaskTrace.meta new file mode 100644 index 0000000000..d5763b76df --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/TaskTrace.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d4db99fadd6448b0a060059e0c22a0e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab b/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab new file mode 100644 index 0000000000..28c0d5415d --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab @@ -0,0 +1,2391 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1259681648028745264 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7727160961164029114} + - component: {fileID: 9154858122360570458} + - component: {fileID: 4056938840944494766} + - component: {fileID: 8251258103064126120} + - component: {fileID: 2531022629832384091} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7727160961164029114 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259681648028745264} + 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: 6132532718725710246} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &9154858122360570458 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259681648028745264} + m_CullTransparentMesh: 1 +--- !u!114 &4056938840944494766 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259681648028745264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &8251258103064126120 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259681648028745264} + 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!114 &2531022629832384091 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1259681648028745264} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9948396f0593842c9b52db8752b5eeba, type: 3} + m_Name: + m_EditorClassIdentifier: + tmp: {fileID: 4056938840944494766} +--- !u!1 &1282604339548885369 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 261981060290751465} + - component: {fileID: 457716058811986814} + - component: {fileID: 7883874950273869358} + - component: {fileID: 1377187333894010456} + m_Layer: 5 + m_Name: HeaderButtons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &261981060290751465 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282604339548885369} + 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: 3329664456688940810} + - {fileID: 5916681925339953764} + - {fileID: 9079729967523171228} + - {fileID: 7756493524805061558} + m_Father: {fileID: 2592907577137935010} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &457716058811986814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282604339548885369} + 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: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!222 &7883874950273869358 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282604339548885369} + m_CullTransparentMesh: 1 +--- !u!114 &1377187333894010456 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1282604339548885369} + 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: 0.19112396, g: 1, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 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 &1460972598942944139 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5334235739729266731} + - component: {fileID: 717857945709976537} + - component: {fileID: 9173893435352053864} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5334235739729266731 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1460972598942944139} + 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: 8963506121256727437} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &717857945709976537 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1460972598942944139} + m_CullTransparentMesh: 1 +--- !u!114 &9173893435352053864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1460972598942944139} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: X + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1617990407549837025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7756493524805061558} + - component: {fileID: 6111965168519039965} + m_Layer: 5 + m_Name: Toggle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7756493524805061558 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617990407549837025} + 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: 4193270519425639530} + m_Father: {fileID: 261981060290751465} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6111965168519039965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1617990407549837025} + 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: 1 + m_TargetGraphic: {fileID: 6307970460755873753} + toggleTransition: 1 + graphic: {fileID: 2973156954884679749} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1758680663652879282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8505353848183549739} + - component: {fileID: 2449478040366033306} + - component: {fileID: 9162165498870642178} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8505353848183549739 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1758680663652879282} + 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: 5916681925339953764} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2449478040366033306 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1758680663652879282} + m_CullTransparentMesh: 1 +--- !u!114 &9162165498870642178 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1758680663652879282} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: TB Developed + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2135374639804663431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8634059274107523544} + - component: {fileID: 4496279422760028947} + - component: {fileID: 6340462617696266536} + m_Layer: 5 + m_Name: DlgTaskTrace + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8634059274107523544 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135374639804663431} + 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: 2592907577137935010} + 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: -760, y: 165.32361} + m_SizeDelta: {x: 400, y: 360} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4496279422760028947 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135374639804663431} + m_CullTransparentMesh: 1 +--- !u!114 &6340462617696266536 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135374639804663431} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bac01b5537b4341a7885fe2392d32eaa, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TargetName: + m_TargetPos: {x: 0, y: 0, z: 0} + m_Targets: [] + m_TargetId: 0 + m_TaskId: 0 + m_pTxt_Desc: {fileID: 2531022629832384091} + m_pChk_Collapse: {fileID: 6111965168519039965} + m_pCollapsedArea: {fileID: 7258688921676539445} + m_pBtnUnTrace: {fileID: 7959768652908452079} + m_pBtnMap: {fileID: 71853762878396798} + m_pBtnChat: {fileID: 1019052825373040898} + m_pBtnFinishTaskByContribution: {fileID: 0} + m_pBtnContributionTaskHelp: {fileID: 0} +--- !u!1 &2831723968088990169 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8963506121256727437} + - component: {fileID: 6804128504798270830} + - component: {fileID: 2019950965072580900} + - component: {fileID: 7959768652908452079} + m_Layer: 5 + m_Name: Untrace Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8963506121256727437 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2831723968088990169} + 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: 5334235739729266731} + m_Father: {fileID: 3016039455618517900} + 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: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6804128504798270830 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2831723968088990169} + m_CullTransparentMesh: 1 +--- !u!114 &2019950965072580900 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2831723968088990169} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7959768652908452079 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2831723968088990169} + 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: 2019950965072580900} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3069953681022711262 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9148946520930037275} + - component: {fileID: 5090498940597761247} + - component: {fileID: 1860590587311957023} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9148946520930037275 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3069953681022711262} + 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: 3329664456688940810} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5090498940597761247 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3069953681022711262} + m_CullTransparentMesh: 1 +--- !u!114 &1860590587311957023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3069953681022711262} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u0110\xE3 nh\u1EADn" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3434161516154757238 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3016039455618517900} + - component: {fileID: 8500725390327709797} + m_Layer: 5 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3016039455618517900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3434161516154757238} + 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: 8404953050506751516} + - {fileID: 5793178729501739665} + - {fileID: 8963506121256727437} + m_Father: {fileID: 6132532718725710246} + 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: 109.48303, y: 98.33057} + m_SizeDelta: {x: 160, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8500725390327709797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3434161516154757238} + 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: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &3479303862543290386 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9079729967523171228} + - component: {fileID: 9064621489906583452} + - component: {fileID: 775082262233850649} + - component: {fileID: 2161692172581291607} + - component: {fileID: 959641279803164068} + m_Layer: 5 + m_Name: PlaceHolder2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9079729967523171228 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3479303862543290386} + 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: 3854714028094458106} + m_Father: {fileID: 261981060290751465} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9064621489906583452 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3479303862543290386} + m_CullTransparentMesh: 1 +--- !u!114 &775082262233850649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3479303862543290386} + 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: 01b79c3dc401e4fdfb17b72d677f9fbd, 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 &2161692172581291607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3479303862543290386} + 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: 775082262233850649} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &959641279803164068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3479303862543290386} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 80 + m_PreferredHeight: -1 + m_FlexibleWidth: 0.8 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3512125893465753939 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8404953050506751516} + - component: {fileID: 9058123560732067158} + - component: {fileID: 2799507749922240830} + - component: {fileID: 1019052825373040898} + m_Layer: 5 + m_Name: Notice to chat Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8404953050506751516 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3512125893465753939} + 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: 2700626918252070787} + m_Father: {fileID: 3016039455618517900} + 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: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9058123560732067158 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3512125893465753939} + m_CullTransparentMesh: 1 +--- !u!114 &2799507749922240830 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3512125893465753939} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1019052825373040898 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3512125893465753939} + 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: 2799507749922240830} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3730379481426425927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5916681925339953764} + - component: {fileID: 7804354563329982254} + - component: {fileID: 8710518426918154425} + - component: {fileID: 8988508125878028850} + - component: {fileID: 2343987487376430524} + m_Layer: 5 + m_Name: PlaceHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5916681925339953764 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3730379481426425927} + 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: 8505353848183549739} + m_Father: {fileID: 261981060290751465} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7804354563329982254 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3730379481426425927} + m_CullTransparentMesh: 1 +--- !u!114 &8710518426918154425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3730379481426425927} + 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: 01b79c3dc401e4fdfb17b72d677f9fbd, 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 &8988508125878028850 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3730379481426425927} + 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: 8710518426918154425} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2343987487376430524 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3730379481426425927} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 80 + m_PreferredHeight: -1 + m_FlexibleWidth: 0.8 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &3988313499384097302 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2592907577137935010} + - component: {fileID: 2726159464919517261} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2592907577137935010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3988313499384097302} + 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: 261981060290751465} + - {fileID: 6132532718725710246} + m_Father: {fileID: 8634059274107523544} + 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 &2726159464919517261 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3988313499384097302} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 5 + m_Right: 5 + m_Top: 5 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &4825764596614857268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2459414580125558557} + - component: {fileID: 3839411138073301929} + - component: {fileID: 2973156954884679749} + m_Layer: 5 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2459414580125558557 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4825764596614857268} + 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: 4193270519425639530} + 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 &3839411138073301929 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4825764596614857268} + m_CullTransparentMesh: 1 +--- !u!114 &2973156954884679749 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4825764596614857268} + 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: 10901, 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!1 &6326877851715554988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2700626918252070787} + - component: {fileID: 2169666622589843085} + - component: {fileID: 3573710930701905735} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2700626918252070787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6326877851715554988} + 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: 8404953050506751516} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2169666622589843085 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6326877851715554988} + m_CullTransparentMesh: 1 +--- !u!114 &3573710930701905735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6326877851715554988} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: N + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6473810361254159777 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3329664456688940810} + - component: {fileID: 9170281180859117889} + - component: {fileID: 6340636400478425764} + - component: {fileID: 2944091118330522533} + - component: {fileID: 6239364337891163710} + m_Layer: 5 + m_Name: AcceptedQuest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3329664456688940810 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6473810361254159777} + 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: 9148946520930037275} + m_Father: {fileID: 261981060290751465} + 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: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9170281180859117889 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6473810361254159777} + m_CullTransparentMesh: 1 +--- !u!114 &6340636400478425764 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6473810361254159777} + 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: 01b79c3dc401e4fdfb17b72d677f9fbd, 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 &2944091118330522533 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6473810361254159777} + 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: 6340636400478425764} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &6239364337891163710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6473810361254159777} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 80 + m_PreferredHeight: -1 + m_FlexibleWidth: 0.8 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &6495846291025499386 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5793178729501739665} + - component: {fileID: 1266149729541302388} + - component: {fileID: 96592034278499080} + - component: {fileID: 71853762878396798} + m_Layer: 5 + m_Name: Open map Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5793178729501739665 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6495846291025499386} + 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: 8505317987590978995} + m_Father: {fileID: 3016039455618517900} + 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: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1266149729541302388 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6495846291025499386} + m_CullTransparentMesh: 1 +--- !u!114 &96592034278499080 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6495846291025499386} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &71853762878396798 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6495846291025499386} + 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: 96592034278499080} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &7063514740526960886 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4193270519425639530} + - component: {fileID: 6486300034229879765} + - component: {fileID: 6307970460755873753} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4193270519425639530 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7063514740526960886} + 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: 2459414580125558557} + m_Father: {fileID: 7756493524805061558} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 15, y: -15} + m_SizeDelta: {x: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6486300034229879765 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7063514740526960886} + m_CullTransparentMesh: 1 +--- !u!114 &6307970460755873753 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7063514740526960886} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7207162011476136193 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8505317987590978995} + - component: {fileID: 5405408831913230153} + - component: {fileID: 4208075434674868373} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8505317987590978995 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7207162011476136193} + 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: 5793178729501739665} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5405408831913230153 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7207162011476136193} + m_CullTransparentMesh: 1 +--- !u!114 &4208075434674868373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7207162011476136193} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: M + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7258688921676539445 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6132532718725710246} + - component: {fileID: 2700825500503621295} + - component: {fileID: 5833904485437591773} + m_Layer: 5 + m_Name: Quest View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6132532718725710246 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7258688921676539445} + 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: 7727160961164029114} + - {fileID: 3016039455618517900} + m_Father: {fileID: 2592907577137935010} + 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: 260} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2700825500503621295 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7258688921676539445} + m_CullTransparentMesh: 1 +--- !u!114 &5833904485437591773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7258688921676539445} + 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: 0, g: 0, b: 0, a: 0.29803923} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7754256254697926651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3854714028094458106} + - component: {fileID: 5615105962452714094} + - component: {fileID: 3178889629979405543} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3854714028094458106 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7754256254697926651} + 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: 9079729967523171228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5615105962452714094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7754256254697926651} + m_CullTransparentMesh: 1 +--- !u!114 &3178889629979405543 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7754256254697926651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: TB Developed + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab.meta b/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab.meta new file mode 100644 index 0000000000..4aab34382b --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/TaskTrace/DlgTaskTrace.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 474bf9c22c7c445aeb9bfb8b1b77ab55 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs b/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs new file mode 100644 index 0000000000..b32ca5a109 --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs @@ -0,0 +1,143 @@ +using UnityEngine; +using TMPro; +using UnityEngine.EventSystems; +using BrewMonster.Scripts.Task.UI; +using System.Collections.Generic; +using BrewMonster.UI; +namespace BrewMonster +{ + public class StyledTaskTraceText : MonoBehaviour, IPointerMoveHandler, IPointerExitHandler,IPointerClickHandler + { + public enum LinkType + { + coord, + npc, + monster, + item, + target + } + + public TMP_Text tmp; + private List linkCommands =new List(); + int hoveredLink = -1; + LinkType linkType = LinkType.coord; + Color32 normalColor = new Color32(77, 166, 255, 255); + Color32 hoverColor = new Color32(255, 200, 80, 255); + public void SetLinkType( LinkType linkType) + { + this.linkType = linkType; + } + + private void Start() + { + tmp.raycastTarget = true; + ResetLinkColor(); + tmp.ForceMeshUpdate(); + } + + public void OnPointerMove(PointerEventData eventData) + { + int linkIndex = TMP_TextUtilities.FindIntersectingLink( + tmp, + eventData.position, + eventData.pressEventCamera + ); + + if (linkIndex != hoveredLink) + { + ResetLinkColor(); + + hoveredLink = linkIndex; + + if (hoveredLink != -1) + SetLinkColor(hoveredLink, hoverColor); + } + } + public void Set(string text) + { + tmp.text = text; + } + public void OnPointerExit(PointerEventData eventData) + { + ResetLinkColor(); + hoveredLink = -1; + } + + public void AddToFirstPosition(LinkCommand linkCommand) + { + linkCommands.Insert(0, linkCommand); + } + public void AddToLastPosition(LinkCommand linkCommand) + { + linkCommands.Add(linkCommand); + } + public void AddLinkCommand(LinkCommand linkCommand) + { + linkCommands.Add(linkCommand); + } + public void RemoveLinkCommand(int linkIndex) + { + linkCommands.RemoveAt(linkIndex); + } + public void RefreshLinkCommands() + { + tmp.text = ""; + linkCommands.Clear(); + } + void SetLinkColor(int linkIndex, Color32 color) + { + TMP_LinkInfo linkInfo = tmp.textInfo.linkInfo[linkIndex]; + + for (int i = 0; i < linkInfo.linkTextLength; i++) + { + int charIndex = linkInfo.linkTextfirstCharacterIndex + i; + var charInfo = tmp.textInfo.characterInfo[charIndex]; + + if (!charInfo.isVisible) continue; + + int meshIndex = charInfo.materialReferenceIndex; + int vertexIndex = charInfo.vertexIndex; + + var colors = tmp.textInfo.meshInfo[meshIndex].colors32; + colors[vertexIndex + 0] = color; + colors[vertexIndex + 1] = color; + colors[vertexIndex + 2] = color; + colors[vertexIndex + 3] = color; + } + + tmp.UpdateVertexData(TMP_VertexDataUpdateFlags.Colors32); + } + + public void OnPointerClick(PointerEventData eventData) + { + if (hoveredLink == -1) return; + + TMP_LinkInfo linkInfo = tmp.textInfo.linkInfo[hoveredLink]; + string linkText = linkInfo.GetLinkText(); + string entityID = linkInfo.GetLinkID(); + switch (linkType) + { + case LinkType.coord: + Debug.Log($"Clicked coord link: ID={entityID} Type={linkType} Text={linkText}"); + linkCommands[hoveredLink].Execute(tmp); + //Debug.Log($"[StyledTaskTraceText] OnPointerClick: linkCommands[hoveredLink].Execute(tmp) => {linkCommands[hoveredLink].Execute(tmp)}"); + break; + case LinkType.npc: + Debug.Log($"Clicked npc link: ID={entityID} Type={linkType} Text={linkText}"); + break; + case LinkType.monster: + Debug.Log($"Clicked monster link: ID={entityID} Type={linkType} Text={linkText}"); + break; + } + ResetLinkColor(); + hoveredLink = -1; + } + + void ResetLinkColor() + { + if (hoveredLink == -1) return; + SetLinkColor(hoveredLink, normalColor); + } + } + +} diff --git a/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs.meta b/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs.meta new file mode 100644 index 0000000000..dbecd8287b --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/TaskTrace/StyledTaskTraceText.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9948396f0593842c9b52db8752b5eeba \ No newline at end of file diff --git a/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab b/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab index f16454c889..e2beefce2e 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/DlgTask.prefab @@ -124,7 +124,7 @@ GameObject: - component: {fileID: 2073914007811294008} - component: {fileID: 3966264511266465954} m_Layer: 5 - m_Name: OffFrame + m_Name: OnState m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1138,10 +1138,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3123454216176481580} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 40.635, y: -16.2} - m_SizeDelta: {x: 50.7351, y: 26.6806} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: -30, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7639966540866459946 CanvasRenderer: @@ -1171,7 +1171,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\u0110\xF3ng" + m_text: "M\u1EDF" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} @@ -1198,14 +1198,14 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 32.5 - m_fontSizeBase: 32.5 + m_fontSize: 24 + m_fontSizeBase: 24 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 + m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: -4.5 @@ -1236,7 +1236,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: -0.27215576, y: -0.10165405, z: 0, w: 0} + m_margin: {x: 4, y: 0, z: 0, w: 4} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -4381,7 +4381,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 9186753556377915254} - - component: {fileID: 6244284104014817409} + - component: {fileID: 6840182078374811692} + - component: {fileID: 2621128482725560404} m_Layer: 5 m_Name: ShoTraceToggle m_TagString: Untagged @@ -4410,7 +4411,22 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 103.5415, y: 42.7938} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &6244284104014817409 +--- !u!114 &6840182078374811692 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4431186934832812115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35157c775228541e3ba4a1cf99c8cde0, type: 3} + m_Name: + m_EditorClassIdentifier: + toggle: {fileID: 2621128482725560404} + HideStateObject: {fileID: 3683819913026684851} + ShowStateObject: {fileID: 3123454216176481580} +--- !u!114 &2621128482725560404 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -4429,7 +4445,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} @@ -4450,14 +4466,14 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 2073914007811294008} + m_TargetGraphic: {fileID: 0} toggleTransition: 1 - graphic: {fileID: 6758959852572783852} + graphic: {fileID: 0} m_Group: {fileID: 0} onValueChanged: m_PersistentCalls: m_Calls: [] - m_IsOn: 1 + m_IsOn: 0 --- !u!1 &4529600407288641986 GameObject: m_ObjectHideFlags: 0 @@ -6129,10 +6145,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 3683819913026684851} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 32.2, y: -16.2} - m_SizeDelta: {x: 67.6051, y: 26.6806} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: -30, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &153087682357708300 CanvasRenderer: @@ -6162,7 +6178,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "M\u1EDF" + m_text: "\u0110\xF3ng" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} m_sharedMaterial: {fileID: 9092487103257209053, guid: 369c2e14814cc9a4b8e3ad4e37769134, type: 2} @@ -6189,14 +6205,14 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 32.5 - m_fontSizeBase: 32.5 + m_fontSize: 24 + m_fontSizeBase: 24 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 + m_HorizontalAlignment: 2 m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: -4.5 @@ -6227,7 +6243,7 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 24.383972, y: -0.10165405, z: 0, w: 0} + m_margin: {x: 4, y: 0, z: 0, w: 4} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 @@ -6406,7 +6422,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -17, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!222 &5693552902337398956 CanvasRenderer: @@ -7189,11 +7205,11 @@ MonoBehaviour: m_pBtn_NormalQuest: {fileID: 0} m_pBtn_SearchQuest: {fileID: 3993402114383519284} m_pBtn_HaveQuest: {fileID: 8416675113205287645} - m_pBtn_bShowTrace: {fileID: 9136710161848467276} + m_pTog_bShowTrace: {fileID: 2621128482725560404} m_pBtn_FinishTask: {fileID: 6741042101550509130} m_pTxt_BaseAward: {fileID: 6764788513594170349} Btn_TreasureMap: {fileID: 7903297208011070717} - Btn_Focus: {fileID: 2955519617984623694} + Btn_Focus: {fileID: 601347568680326690} Lab_QuestNO: {fileID: 4208730212235768509} m_pImg_Item: - {fileID: 1878888636723388585} @@ -8457,7 +8473,7 @@ GameObject: - component: {fileID: 6758959852572783852} - component: {fileID: 894529387942206273} m_Layer: 5 - m_Name: OnFrame + m_Name: OffState m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8570,23 +8586,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchorMax.x - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchorMax.y - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchorMin.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchorMin.y - value: 0.5 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_SizeDelta.x - value: 319.58 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_SizeDelta.y @@ -8622,11 +8638,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchoredPosition.x - value: -151.28992 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_AnchoredPosition.y - value: 336.93 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8395333742829132721, guid: 9456de25596014039bd4d0d3927b709a, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab index f2b888aef1..6bee375522 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeView.prefab @@ -50,7 +50,9 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 8688b7d87bac4c16b9eaa3408f8ea419, type: 3} m_Name: m_EditorClassIdentifier: - m_pTreeViewItemPrefab: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3} + m_pTreeItemPrefab_Deep1: {fileID: 4314770845850481090, guid: 8752f9e95e4124abfb0d46a2cbe805e4, type: 3} + m_pTreeItemPrefab_Deep2: {fileID: 4314770845850481090, guid: 3cb6791423916496ea0a5b059419fdaa, type: 3} + m_pTreeItemPrefab_Deep3: {fileID: 4314770845850481090, guid: 7b4ec3e05f31a45138f72011c6bf7cf2, type: 3} _currentSelectedItem: {fileID: 0} m_aTreeViewItems: [] --- !u!114 &6404897883559725565 @@ -70,7 +72,7 @@ MonoBehaviour: m_Right: 0 m_Top: 0 m_Bottom: 0 - m_ChildAlignment: 0 + m_ChildAlignment: 1 m_Spacing: 0 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 1 diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState1.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState1.prefab new file mode 100644 index 0000000000..229ef9130e --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState1.prefab @@ -0,0 +1,832 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &65963818834361054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5340186735755952146} + - component: {fileID: 4037779820030979599} + - component: {fileID: 5018334036525203585} + m_Layer: 5 + m_Name: Text (TMP) (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &5340186735755952146 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65963818834361054} + 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: 7277676979067820762} + 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.00048828125, y: 0} + m_SizeDelta: {x: 31, y: 21} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4037779820030979599 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65963818834361054} + m_CullTransparentMesh: 1 +--- !u!114 &5018334036525203585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65963818834361054} + 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: acb875b203dad934ba6728afc54a0457, 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 &700152255263326765 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5053903421260846465} + - component: {fileID: 4314770845850481090} + - component: {fileID: 4986645933044111193} + - component: {fileID: 1062363862839909147} + m_Layer: 5 + m_Name: TreeViewIState1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5053903421260846465 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + 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: 2024997316782034639} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 312.2704, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4314770845850481090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3428dd2e9dd644e0b0cb408bd3202f21, type: 3} + m_Name: + m_EditorClassIdentifier: + m_text: + legacy: {fileID: 0} + tmp: {fileID: 1383932928540251694} + m_Button: {fileID: 1762532130762754577} + _expandToggle: {fileID: 5502308808383608272} + _expandText: + legacy: {fileID: 0} + tmp: {fileID: 0} + _space: {fileID: 5541755240357469011} + _expandBG: {fileID: 6073336955970910715} + ExpandBGActive: {fileID: 21300000, guid: b545f49a479374ffaaec0c8f123b0c5f, type: 3} + ExpandBGInactive: {fileID: 21300000, guid: e09a5d2cb3c3f4c858754a1e90a44abd, type: 3} + m_uItemData: 0 + _treeLevel: 0 + isLastItem: 0 + OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4986645933044111193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &1062363862839909147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + 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: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &2040002976300010419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3882154025378162395} + - component: {fileID: 2230410216357545400} + - component: {fileID: 1762532130762754577} + - component: {fileID: 4801006375863435037} + m_Layer: 5 + m_Name: MainButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3882154025378162395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + 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: 5827054231092576763} + m_Father: {fileID: 2024997316782034639} + 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.5, y: 0.5} +--- !u!222 &2230410216357545400 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + m_CullTransparentMesh: 1 +--- !u!114 &1762532130762754577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4801006375863435037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 200 + m_MinHeight: -1 + m_PreferredWidth: 225 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 2 +--- !u!1 &2916175606199835458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5827054231092576763} + - component: {fileID: 5842649278580849339} + - component: {fileID: 1383932928540251694} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5827054231092576763 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + 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} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0.00000023841858} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5842649278580849339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + m_CullTransparentMesh: 1 +--- !u!114 &1383932928540251694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Daily quest + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 15 + m_fontSizeMax: 40 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 10} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6587684749681441909 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5062486824527634889} + - component: {fileID: 7099288759002186546} + - component: {fileID: 520846459080750772} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5062486824527634889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + 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: 7277676979067820762} + 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.00048828125, y: 0} + m_SizeDelta: {x: 31, y: 21} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7099288759002186546 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + m_CullTransparentMesh: 1 +--- !u!114 &520846459080750772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + 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!1 &6592915584227539970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2930138263853700511} + - component: {fileID: 5541755240357469011} + m_Layer: 5 + m_Name: Space + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2930138263853700511 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6592915584227539970} + 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: 2024997316782034639} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -20} + m_SizeDelta: {x: 0, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5541755240357469011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6592915584227539970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + 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: 5502308808383608272} + - component: {fileID: 8681673894369501558} + - component: {fileID: 5023660321199965886} + m_Layer: 5 + m_Name: ExpandToggle + 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: + - {fileID: 5062486824527634889} + - {fileID: 5340186735755952146} + m_Father: {fileID: 2024997316782034639} + 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.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: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 252815192406529888, guid: a141ce1b94af3cf46aa0695ab5ed6cdd, 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 &5502308808383608272 +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: 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: 1 + m_TargetGraphic: {fileID: 1569122208421759741} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &8681673894369501558 +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: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 90 + m_PreferredHeight: 90 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &5023660321199965886 +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: 35157c775228541e3ba4a1cf99c8cde0, type: 3} + m_Name: + m_EditorClassIdentifier: + toggle: {fileID: 5502308808383608272} + HideStateObject: {fileID: 5062486824527634889} + ShowStateObject: {fileID: 5340186735755952146} +--- !u!1 &7973684205123875483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2024997316782034639} + - component: {fileID: 6485915084394087119} + - component: {fileID: 5819741135621999575} + - component: {fileID: 6073336955970910715} + m_Layer: 5 + m_Name: MainContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2024997316782034639 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 2930138263853700511} + - {fileID: 7277676979067820762} + - {fileID: 3882154025378162395} + m_Father: {fileID: 5053903421260846465} + 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: 313, y: 91} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6485915084394087119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 1 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 0 +--- !u!222 &5819741135621999575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + m_CullTransparentMesh: 1 +--- !u!114 &6073336955970910715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: b545f49a479374ffaaec0c8f123b0c5f, 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 diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState1.prefab.meta similarity index 100% rename from Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab.meta rename to Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState1.prefab.meta diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab similarity index 85% rename from Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab rename to Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab index bdaed314ee..a56a5bf1de 100644 --- a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewItem.prefab +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 4986645933044111193} - component: {fileID: 1062363862839909147} m_Layer: 5 - m_Name: TreeViewItem + m_Name: TreeViewIState2 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -37,7 +37,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 312.2704, y: 0} + m_SizeDelta: {x: 295, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &4314770845850481090 MonoBehaviour: @@ -58,8 +58,11 @@ MonoBehaviour: _expandToggle: {fileID: 5502308808383608272} _expandText: legacy: {fileID: 0} - tmp: {fileID: 8373064842616042426} + tmp: {fileID: 0} _space: {fileID: 5541755240357469011} + _expandBG: {fileID: 6073336955970910715} + ExpandBGActive: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3} + ExpandBGInactive: {fileID: 21300000, guid: e09a5d2cb3c3f4c858754a1e90a44abd, type: 3} m_uItemData: 0 _treeLevel: 0 isLastItem: 0 @@ -97,7 +100,7 @@ MonoBehaviour: m_Right: 0 m_Top: 0 m_Bottom: 0 - m_ChildAlignment: 0 + m_ChildAlignment: 1 m_Spacing: 0 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 1 @@ -116,7 +119,6 @@ GameObject: m_Component: - component: {fileID: 3882154025378162395} - component: {fileID: 2230410216357545400} - - component: {fileID: 9062463037674165507} - component: {fileID: 1762532130762754577} - component: {fileID: 4801006375863435037} m_Layer: 5 @@ -154,36 +156,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2040002976300010419} m_CullTransparentMesh: 1 ---- !u!114 &9062463037674165507 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2040002976300010419} - 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: 0.011764706} - 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 &1762532130762754577 MonoBehaviour: m_ObjectHideFlags: 0 @@ -224,7 +196,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 9062463037674165507} + m_TargetGraphic: {fileID: 0} m_OnClick: m_PersistentCalls: m_Calls: [] @@ -241,11 +213,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_IgnoreLayout: 0 - m_MinWidth: 0 + m_MinWidth: 200 m_MinHeight: -1 - m_PreferredWidth: -1 + m_PreferredWidth: 225 m_PreferredHeight: -1 - m_FlexibleWidth: 0.5 + m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 2 --- !u!1 &2916175606199835458 @@ -259,7 +231,6 @@ GameObject: - component: {fileID: 5827054231092576763} - component: {fileID: 5842649278580849339} - component: {fileID: 1383932928540251694} - - component: {fileID: 3802392566423567257} m_Layer: 5 m_Name: Text (TMP) m_TagString: Untagged @@ -314,7 +285,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: New Text + m_text: Daily quest m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} @@ -379,32 +350,12 @@ MonoBehaviour: m_VertexBufferAutoSizeReduction: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} + m_margin: {x: 0, y: 0, z: 0, w: 10} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!114 &3802392566423567257 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2916175606199835458} - 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 &6587684749681441909 GameObject: m_ObjectHideFlags: 0 @@ -415,7 +366,7 @@ GameObject: m_Component: - component: {fileID: 5062486824527634889} - component: {fileID: 7099288759002186546} - - component: {fileID: 8373064842616042426} + - component: {fileID: 520846459080750772} m_Layer: 5 m_Name: Text (TMP) m_TagString: Untagged @@ -440,7 +391,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0.00048828125, y: 0} - m_SizeDelta: {x: 40.883, y: 40} + m_SizeDelta: {x: 31, y: 21} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7099288759002186546 CanvasRenderer: @@ -450,7 +401,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6587684749681441909} m_CullTransparentMesh: 1 ---- !u!114 &8373064842616042426 +--- !u!114 &520846459080750772 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -459,7 +410,7 @@ MonoBehaviour: m_GameObject: {fileID: 6587684749681441909} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -470,77 +421,16 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: + - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} + 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!1 &6592915584227539970 GameObject: m_ObjectHideFlags: 0 @@ -557,7 +447,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &2930138263853700511 RectTransform: m_ObjectHideFlags: 0 @@ -572,10 +462,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 2024997316782034639} 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_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -20} + m_SizeDelta: {x: 0, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &5541755240357469011 MonoBehaviour: @@ -738,8 +628,8 @@ MonoBehaviour: m_IgnoreLayout: 0 m_MinWidth: -1 m_MinHeight: -1 - m_PreferredWidth: 40 - m_PreferredHeight: 40 + m_PreferredWidth: 90 + m_PreferredHeight: 90 m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 @@ -753,6 +643,8 @@ GameObject: m_Component: - component: {fileID: 2024997316782034639} - component: {fileID: 6485915084394087119} + - component: {fileID: 5819741135621999575} + - component: {fileID: 6073336955970910715} m_Layer: 5 m_Name: MainContent m_TagString: Untagged @@ -780,7 +672,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 400, y: 40} + m_SizeDelta: {x: 295, y: 66} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &6485915084394087119 MonoBehaviour: @@ -808,3 +700,41 @@ MonoBehaviour: m_ChildScaleWidth: 1 m_ChildScaleHeight: 1 m_ReverseArrangement: 0 +--- !u!222 &5819741135621999575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + m_CullTransparentMesh: 1 +--- !u!114 &6073336955970910715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 73873399fec964578b62204f20c40517, 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 diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab.meta new file mode 100644 index 0000000000..4c4e9e89be --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState2.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3cb6791423916496ea0a5b059419fdaa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab new file mode 100644 index 0000000000..a6ff28a76c --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab @@ -0,0 +1,740 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &700152255263326765 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5053903421260846465} + - component: {fileID: 4314770845850481090} + - component: {fileID: 4986645933044111193} + - component: {fileID: 1062363862839909147} + m_Layer: 5 + m_Name: TreeViewIState3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5053903421260846465 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + 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: 2024997316782034639} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 312.2704, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4314770845850481090 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3428dd2e9dd644e0b0cb408bd3202f21, type: 3} + m_Name: + m_EditorClassIdentifier: + m_text: + legacy: {fileID: 0} + tmp: {fileID: 1383932928540251694} + m_Button: {fileID: 1762532130762754577} + _expandToggle: {fileID: 5502308808383608272} + _expandText: + legacy: {fileID: 0} + tmp: {fileID: 0} + _space: {fileID: 5541755240357469011} + _expandBG: {fileID: 6073336955970910715} + ExpandBGActive: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3} + ExpandBGInactive: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3} + m_uItemData: 0 + _treeLevel: 0 + isLastItem: 0 + OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4986645933044111193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 1 +--- !u!114 &1062363862839909147 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 700152255263326765} + 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: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &2040002976300010419 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3882154025378162395} + - component: {fileID: 2230410216357545400} + - component: {fileID: 1762532130762754577} + - component: {fileID: 4801006375863435037} + m_Layer: 5 + m_Name: MainButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3882154025378162395 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + 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: 5827054231092576763} + m_Father: {fileID: 2024997316782034639} + 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.5, y: 0.5} +--- !u!222 &2230410216357545400 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + m_CullTransparentMesh: 1 +--- !u!114 &1762532130762754577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + 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: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4801006375863435037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040002976300010419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 200 + m_MinHeight: -1 + m_PreferredWidth: 225 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 2 +--- !u!1 &2916175606199835458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5827054231092576763} + - component: {fileID: 5842649278580849339} + - component: {fileID: 1383932928540251694} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5827054231092576763 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + 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} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0.00000023841858} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5842649278580849339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + m_CullTransparentMesh: 1 +--- !u!114 &1383932928540251694 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2916175606199835458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Daily quest + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 15 + m_fontSizeMax: 40 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 10} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6587684749681441909 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5062486824527634889} + - component: {fileID: 7099288759002186546} + - component: {fileID: 520846459080750772} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5062486824527634889 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + 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: 7277676979067820762} + 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.00048828125, y: 0} + m_SizeDelta: {x: 48, y: 48} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7099288759002186546 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + m_CullTransparentMesh: 1 +--- !u!114 &520846459080750772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6587684749681441909} + 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: 00976b2e066af4e1f85ff5f3c94b5d48, 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 &6592915584227539970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2930138263853700511} + - component: {fileID: 5541755240357469011} + m_Layer: 5 + m_Name: Space + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2930138263853700511 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6592915584227539970} + 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: 2024997316782034639} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -20} + m_SizeDelta: {x: 0, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5541755240357469011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6592915584227539970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: 0 + 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: 5502308808383608272} + - component: {fileID: 8681673894369501558} + m_Layer: 5 + m_Name: ExpandToggle + 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: + - {fileID: 5062486824527634889} + m_Father: {fileID: 2024997316782034639} + 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.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: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 00976b2e066af4e1f85ff5f3c94b5d48, 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 &5502308808383608272 +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: 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: 1 + m_TargetGraphic: {fileID: 1569122208421759741} + toggleTransition: 1 + graphic: {fileID: 0} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!114 &8681673894369501558 +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: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 90 + m_PreferredHeight: 90 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &7973684205123875483 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2024997316782034639} + - component: {fileID: 6485915084394087119} + - component: {fileID: 5819741135621999575} + - component: {fileID: 6073336955970910715} + m_Layer: 5 + m_Name: MainContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2024997316782034639 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 2930138263853700511} + - {fileID: 7277676979067820762} + - {fileID: 3882154025378162395} + m_Father: {fileID: 5053903421260846465} + 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: 290, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6485915084394087119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 1 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 0 +--- !u!222 &5819741135621999575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + m_CullTransparentMesh: 1 +--- !u!114 &6073336955970910715 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7973684205123875483} + 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: 42074c4f5f76b4cbc9043df8f430af5f, 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 diff --git a/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab.meta b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab.meta new file mode 100644 index 0000000000..0c458b69fb --- /dev/null +++ b/Assets/PerfectWorld/Prefab/Task/UI/TreeViewIState3.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b4ec3e05f31a45138f72011c6bf7cf2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset index ec92105785..3aee1cd1d8 100644 --- a/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset +++ b/Assets/PerfectWorld/Resources/UI/DialogScriptTableObject.asset @@ -33,5 +33,8 @@ MonoBehaviour: prefab: {fileID: 5910006447059157136, guid: 22d3972b131ebdb4288f9cbdf996d691, type: 3} - id: Win_Enchase prefab: {fileID: 5636724581774400035, guid: de6ac6f2630425044a55299c703670f1, type: 3} + - id: Win_QuestMinion + prefab: {fileID: 2135374639804663431, guid: 474bf9c22c7c445aeb9bfb8b1b77ab55, type: 3} - id: Win_Character prefab: {fileID: 6310702841431484757, guid: 6620f766cee7c8f4cb00dd457ac77675, type: 3} + diff --git a/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png b/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png new file mode 100644 index 0000000000..1ac7b6921f Binary files /dev/null and b/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png differ diff --git a/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png.meta b/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png.meta new file mode 100644 index 0000000000..535ce1acf9 --- /dev/null +++ b/Assets/PerfectWorld/Resources/UI/Pw Nhiemvu-assets/minDown.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 5346df76337624cc9ab94bb030214bae +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset b/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset new file mode 100644 index 0000000000..38064dd133 --- /dev/null +++ b/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 757291f3b49ff4f309f9a726204f6260, type: 3} + m_Name: TaskTreeStateMap + m_EditorClassIdentifier: + resources: + - state: 0 + Rto_ButtonSprite: {fileID: 21300000, guid: b545f49a479374ffaaec0c8f123b0c5f, type: 3} + BackgroundSprite: {fileID: 21300000, guid: 5346df76337624cc9ab94bb030214bae, type: 3} + TextColor: {r: 1, g: 1, b: 1, a: 1} + - state: 1 + Rto_ButtonSprite: {fileID: 21300000, guid: e09a5d2cb3c3f4c858754a1e90a44abd, type: 3} + BackgroundSprite: {fileID: 21300000, guid: 9de07872267c5419b9fa9c849eb45858, type: 3} + TextColor: {r: 1, g: 1, b: 1, a: 1} + - state: 2 + Rto_ButtonSprite: {fileID: 21300000, guid: 73873399fec964578b62204f20c40517, type: 3} + BackgroundSprite: {fileID: 21300000, guid: 5346df76337624cc9ab94bb030214bae, type: 3} + TextColor: {r: 1, g: 1, b: 1, a: 1} + - state: 3 + Rto_ButtonSprite: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3} + BackgroundSprite: {fileID: 21300000, guid: 9de07872267c5419b9fa9c849eb45858, type: 3} + TextColor: {r: 0.9528302, g: 0.8330688, b: 0.4809096, a: 1} + - state: 4 + Rto_ButtonSprite: {fileID: 21300000, guid: 42074c4f5f76b4cbc9043df8f430af5f, type: 3} + BackgroundSprite: {fileID: 21300000, guid: 00976b2e066af4e1f85ff5f3c94b5d48, type: 3} + TextColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset.meta b/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset.meta new file mode 100644 index 0000000000..0ec0f165ab --- /dev/null +++ b/Assets/PerfectWorld/Resources/UI/TaskTreeStateMap.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27e9cc22629754e65aa6498753b8de6d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs index 4bd4f6926a..d42a3b0b6d 100644 --- a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs +++ b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs @@ -2676,6 +2676,7 @@ namespace BrewMonster [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public ushort[] name; // name, max 15 chars + public string Name => ByteToStringUtils.UshortArrayToUnicodeString(name); [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public ushort[] prop; // properties @@ -5349,6 +5350,7 @@ namespace BrewMonster [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public ushort[] name; // name, max 15 characters + public string Name => ByteToStringUtils.UshortArrayToCP936String(name); [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public uint[] id_tasks; // task IDs diff --git a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs index 35076d00e8..d07cdeb6ae 100644 --- a/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs +++ b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs @@ -8,6 +8,7 @@ using System.Globalization; using System.IO; using UnityEngine; using UnityEngine.AddressableAssets; +using CSNetwork.GPDataType; namespace BrewMonster.Network { public partial class EC_Game @@ -324,12 +325,6 @@ namespace BrewMonster.Network // //////////////////////////////////////////////////////////////////////////////// - private struct OBJECT_COORD - { - public string strMap; - public Vector3 vPos; - } - private static readonly Dictionary> m_CoordTab = new Dictionary>(StringComparer.OrdinalIgnoreCase); @@ -414,7 +409,7 @@ namespace BrewMonster.Network var coord = new OBJECT_COORD { strMap = map, - vPos = new Vector3(x, y, z), + vPos = new A3DVECTOR3(x, y, z), }; if (!m_CoordTab.TryGetValue(key, out var list)) @@ -447,7 +442,7 @@ namespace BrewMonster.Network return false; } - pos = list[0].vPos; + pos = new Vector3(list[0].vPos.x, list[0].vPos.y, list[0].vPos.z); map = list[0].strMap; return true; } @@ -529,8 +524,23 @@ namespace BrewMonster.Network } return iIndex; } + + public static int GetObjectCoord(string strTargetID, ref List TargetCoord) + { - + int count = 0; + foreach(var coord in TargetCoord) + { + if(coord.strMap == strTargetID) + { + count++; + TargetCoord.Add(coord); + } + } + + return count; + } + #endregion } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPCServer.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPCServer.cs index 754e42fde3..885d16aa9f 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPCServer.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPCServer.cs @@ -135,7 +135,7 @@ public class CECNPCServer : CECNPC m_TaskIcon = IconTaskType.QI_NONE; uint taskFlag = 0; - BMLogger.Log($"[UpdateCurTaskIcon] NPC {m_NPCInfo.nid}, id_task_in_service={m_pDBEssence.Value.id_task_in_service}, id_task_out_service={m_pDBEssence.Value.id_task_out_service}"); + //BMLogger.Log($"[UpdateCurTaskIcon] NPC {m_NPCInfo.nid}, id_task_in_service={m_pDBEssence.Value.id_task_in_service}, id_task_out_service={m_pDBEssence.Value.id_task_out_service}"); if (m_pDBEssence.Value.id_task_in_service != 0) { DATA_TYPE dt = DATA_TYPE.DT_INVALID; @@ -243,7 +243,6 @@ public class CECNPCServer : CECNPC uint idTask = outService.id_tasks[i]; if (idTask <= 0) continue; - if (!pTask.CanShowTask(idTask)) continue; @@ -304,7 +303,7 @@ public class CECNPCServer : CECNPC else if ((taskFlag & TASK_CANNOTGET) != 0) m_TaskIcon = IconTaskType.QI_OUT_N; - BMLogger.Log($"[UpdateCurTaskIcon] Final icon {m_TaskIcon}, taskFlag={taskFlag}"); + //BMLogger.Log($"[UpdateCurTaskIcon] Final icon {m_TaskIcon}, taskFlag={taskFlag}"); UpdateTaskIconUI(); } diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index 2fd4deb919..991ff23c80 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -887,6 +887,15 @@ namespace CSNetwork.GPDataType public int matter_id; public int who; } + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct OBJECT_COORD + { + public string strMap; + public A3DVECTOR3 vPos; + //bool operator == (const ACString& rhsStr) const {return strMap == rhsStr;} + public bool Equals(string rhsStr) {return strMap == rhsStr;} + //override == method + } [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct A3DVECTOR3 diff --git a/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs index efae8f7f98..174403b805 100644 --- a/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs +++ b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs @@ -1377,6 +1377,19 @@ namespace BrewMonster.Scripts.Task Addressables.Release(handle); } } + public TASK_DICE_BY_WEIGHT_CONFIG GetWeightTasksEssence(uint idStorage, out bool result) + { + result = false; + if (!m_WeightEssenseMap.TryGetValue(idStorage, out uint essenceId)) + return default; + + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + var temp = m_pEleDataMan.get_data_ptr((uint)essenceId, ID_SPACE.ID_SPACE_CONFIG, ref dt); + if (temp == null && dt != DATA_TYPE.DT_TASK_DICE_BY_WEIGHT_CONFIG) + return default; + result = true; + return (TASK_DICE_BY_WEIGHT_CONFIG)temp; + } } [StructLayout(LayoutKind.Sequential, Pack = 1)] diff --git a/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs index 86a961fd34..c3d0080519 100644 --- a/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs +++ b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs @@ -1686,23 +1686,23 @@ namespace BrewMonster.Scripts.Task public void TakeAwayTaskItem(uint ulTemplId, uint ulNum) {} public void TakeAwayGold(uint ulNum) {} public void TakeAwayFactionConsumeContrib(int ulNum){} - public void OnGiveupTask(int iTaskID) - { - UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: TaskID={iTaskID}"); - ATaskTempl pTempl = GetTaskTemplMan().GetTaskTemplByID((uint)iTaskID); - if (pTempl != null && - pTempl.m_FixedData.m_enumMethod == (uint)TaskCompletionMethod.enumTMSimpleClientTaskForceNavi) + public void OnGiveupTask(int iTaskID) { - UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: Task {iTaskID} is force navigate task, triggering EM_END"); - // Trigger navigation end event // 触发导航结束事件 - m_pHost.OnNaviageEvent(iTaskID, (int)CECNavigateCtrl.NavigateEvent.EM_END); - SetForceNavigateFinishFlag(false); + UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: TaskID={iTaskID}"); + ATaskTempl pTempl = GetTaskTemplMan().GetTaskTemplByID((uint)iTaskID); + if (pTempl != null && + pTempl.m_FixedData.m_enumMethod == (uint)TaskCompletionMethod.enumTMSimpleClientTaskForceNavi) + { + UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: Task {iTaskID} is force navigate task, triggering EM_END"); + // Trigger navigation end event // 触发导航结束事件 + m_pHost.OnNaviageEvent(iTaskID, (int)CECNavigateCtrl.NavigateEvent.EM_END); + SetForceNavigateFinishFlag(false); + } + else + { + UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: Task {iTaskID} is not a force navigate task"); + } } - else - { - UnityEngine.Debug.Log($"[CECTaskInterface] OnGiveupTask: Task {iTaskID} is not a force navigate task"); - } - } // Handle task text click in UI - trigger navigation if it's a force navigate task // 处理任务UI文本点击 - 如果是强制导航任务则触发导航 // This is called when user clicks on task name/link in the task UI // 当用户在任务UI中点击任务名称/链接时调用 @@ -1868,6 +1868,32 @@ namespace BrewMonster.Scripts.Task } } } + public int GetWorldContribution() + { + return m_pHost.GetWorldContribution(); + } + + public bool CanFinishTaskSpendingWorldContribution(int taskID) + { + var pTempl = GetTaskTemplMan().GetTaskTemplByID((uint)taskID); + return pTempl != null && pTempl.m_FixedData.m_iWorldContribution <= GetWorldContribution(); + } + public void FinishTaskSpendingWorldContribution(int taskID, int choice = 2) + { + if (CanFinishTaskSpendingWorldContribution(taskID)) + NotifyServer(new byte[] { (byte)taskID, (byte)choice }, 2); + } + public int GetWorldContributionSpend() + { + return m_pHost.GetWorldContributionSpend(); + } + + public bool PlayerCanSpendContributionAsWill() + { + return m_pHost.HaveHealthStones(); + } + + // void CECTaskInterface::UpdateTaskEmotionAction(unsigned int task_id) // { // if (m_emotionTask.find(task_id)!=m_emotionTask.end()) diff --git a/Assets/PerfectWorld/Scripts/Task/TaskClient.cs b/Assets/PerfectWorld/Scripts/Task/TaskClient.cs index 1b695aac0f..27093ad849 100644 --- a/Assets/PerfectWorld/Scripts/Task/TaskClient.cs +++ b/Assets/PerfectWorld/Scripts/Task/TaskClient.cs @@ -550,12 +550,26 @@ namespace BrewMonster.Scripts.Task // CECUIHelper.OnTaskProcessUpdated(pNotify.task); } // Handle task completion or give up notification - else if (pNotify.reason == TaskTemplConstants.TASK_SVR_NOTIFY_COMPLETE || pNotify.reason == TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP) + else if (pNotify.reason == TaskTemplConstants.TASK_SVR_NOTIFY_COMPLETE ) { // TODO: CECUIHelper.OnTaskCompleted not found; implement UI update if needed // CECUIHelper.OnTaskCompleted(pNotify.task); } + else if (pNotify.reason == TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP) + { + ActiveTaskList pLst = TryGetActiveList(pTask); + if (pLst != null) + { + pLst.ClearTask(pTask, pEntry, false); + } + pLst.ClearTask(pTask, pEntry, false); + if (pTempl.m_FixedData.m_bDisplayInTitleTaskUI) + pTask.UpdateTaskUI(pTempl.m_FixedData.m_ID, TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP); + //if ((pTempl.m_FixedData.m_enumMethod == (uint)TaskCompletionMethod.enumTMSimpleClientTask) && pTempl.m_FixedData.m_uiEmotion > 0) + //pTask.UpdateTaskUI(pTempl.m_FixedData.m_ID, TaskTemplConstants.TASK_SVR_NOTIFY_GIVE_UP); + pTask.OnGiveupTask((int)pTempl.m_FixedData.m_ID); + } // Validate template was found if (pTempl == null) { diff --git a/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs index 7665b099d5..9bd4384d78 100644 --- a/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs +++ b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs @@ -1706,14 +1706,14 @@ namespace BrewMonster.Scripts.Task /* ÈÎÎñ½áÊøºóµÄ½±Àø */ public uint m_ID => m_FixedData.m_ID; - uint m_ulAwardType_S => m_FixedData.m_ulAwardType_S; - uint m_ulAwardType_F => m_FixedData.m_ulAwardType_F; + public uint GetAwardType_S() => m_FixedData.m_ulAwardType_S; + public uint GetAwardType_F() => m_FixedData.m_ulAwardType_F; // ʱ¼äÏÞÖÆ uint m_ulTimeLimit => m_FixedData.m_ulTimeLimit; /* ÆÕͨºÍ°´Ã¿¸ö·½Ê½ */ - AWARD_DATA m_Award_S => m_FixedData.m_Award_S; /* ³É¹¦ */ - AWARD_DATA m_Award_F => m_FixedData.m_Award_F; /* ʧ°Ü */ + public AWARD_DATA m_Award_S => m_FixedData.m_Award_S; /* ³É¹¦ */ + public AWARD_DATA m_Award_F => m_FixedData.m_Award_F; /* ʧ°Ü */ /* ʱ¼ä±ÈÀý·½Ê½ */ AWARD_RATIO_SCALE m_AwByRatio_S => m_FixedData.m_AwByRatio_S; AWARD_RATIO_SCALE m_AwByRatio_F => m_FixedData.m_AwByRatio_F; @@ -4561,7 +4561,7 @@ namespace BrewMonster.Scripts.Task uint ulTaskTime, uint ulCurTime) { - var ulType = (pEntry.IsSuccess() ? m_ulAwardType_S : m_ulAwardType_F); + var ulType = (pEntry.IsSuccess() ? m_FixedData.m_ulAwardType_S : m_FixedData.m_ulAwardType_F); switch (ulType) { case (uint)TaskAwardType.enumTATNormal: @@ -4606,7 +4606,7 @@ namespace BrewMonster.Scripts.Task ref AWARD_DATA pAward, ActiveTaskEntry pEntry) { - AWARD_ITEMS_SCALE p = (pEntry.IsSuccess() ? m_AwByItems_S : m_AwByItems_F); + AWARD_ITEMS_SCALE p = (pEntry.IsSuccess() ? m_AwByItems_S : m_AwByItems_F); uint ulCount = (uint)pTask.GetTaskItemCount(p.m_ulItemId), i; for (i = 0; i < p.m_ulScales; i++) @@ -5440,5 +5440,10 @@ namespace BrewMonster.Scripts.Task if(m_pNextSibling!= null) NextSiblingID = m_pNextSibling.m_ID; if(m_pFirstChild!= null) FirstChildID = m_pFirstChild.m_ID; } + + public string GetName() + { + return ByteToStringUtils.UshortArrayToUnicodeString(m_FixedData.m_szName); + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs b/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs new file mode 100644 index 0000000000..f0c714429f --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs @@ -0,0 +1,269 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using System.Collections.Generic; +using TMPro; +using CSNetwork.Protocols; +using System; +using CSNetwork.GPDataType; +using BrewMonster.Network; +using BrewMonster.Scripts.Task; +using BrewMonster.Scripts.Task.UI; +using BrewMonster.Scripts.World; +namespace BrewMonster.UI +{ + using CommandMap = Dictionary; + [Serializable] + public class StringRef + { + public string Value; + } + public class DlgNameLink : AUIDialog + { + public string m_TargetName; + public Vector3 m_TargetPos; + public List m_Targets; + public int m_TargetId; + public int m_TaskId; + private CommandMap m_Commands = new Dictionary(); + public bool BindLinkCommand(TMP_Text pArea, string pName, LinkCommand pCmdType) + { + // pAres's name combined with input name to make the key + if(pArea == null || string.IsNullOrEmpty(pName)) + return false; + string key=""; + if(pArea) + key = pArea.name; + if(!string.IsNullOrEmpty(pName)) + key += pName; + bool isDuplicated = false; + if(m_Commands.TryGetValue(key, out LinkCommand pTmp)) + { + m_Commands.Remove(key); + isDuplicated = true; + } + if(pCmdType != null) + { + pTmp = pCmdType.Clone(); + pTmp.m_pArea = pArea; + pTmp.AppendText(); + m_Commands[key] = pTmp; + } + return isDuplicated; + } + public LinkCommand GetLinkCommand(TMP_Text pArea, string pName) + { + if(pArea != null && !string.IsNullOrEmpty(pName)) + { + string key = pArea.name; + key += pName; + if(m_Commands.TryGetValue(key, out LinkCommand pTmp)) + { + return m_Commands[key]; + } + } + if(pArea != null) + { + string key = pArea.name; + if(m_Commands.TryGetValue(key, out LinkCommand pTmp)) + { + return m_Commands[key]; + } + } + if(pName != null) + { + string key = pName; + if(m_Commands.TryGetValue(key, out LinkCommand pTmp)) + { + return m_Commands[key]; + } + } + return null; + } + public void ClearCommands() + { + foreach(var cmd in m_Commands) + { + cmd.Value.m_pArea = null; + } + m_Commands.Clear(); + } + public override void Release() + { + ClearCommands(); + base.Release(); + } + } + + // command pattern for click a hyper link in textarea + public abstract class LinkCommand + { + public TMP_Text m_pArea =null; + public abstract bool Execute(TMP_Text pArea); + public TMP_Text GetTxtArea() {return m_pArea;} + public virtual void AppendText(){ + m_pArea.text += GetLinkText(); + } + public abstract LinkCommand Clone(); + public abstract string GetLinkText(); + + public LinkCommand(TMP_Text pArea) + { + m_pArea = pArea; + } + + public LinkCommand() + { + m_pArea = null; + } + } + // click this textarea will cause player move to the specific target + public class MoveToLinkCommand : LinkCommand + { + + public string m_TargetName; + public A3DVECTOR3 m_TargetPos; + public List m_Targets; + public int m_TargetId; + public int m_TaskId; + public MoveToLinkCommand(int idTarget, string targetName, int idTask = 0){ + + m_TargetId = idTarget; + m_TargetName = targetName; + m_TaskId = idTask; + m_TargetPos = new A3DVECTOR3(0, 0, 0); + bool bInTable = false; + m_TargetPos = EC_Game.GetGameRun().GetHostPlayer().GetObjectCoordinates( + idTarget, ref m_Targets, ref bInTable); + //todo: add map feature here. + if(!bInTable && /*MAJOR_MAP*/1 == CECWorld.Instance.GetInstanceID()) + { + ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan(); + if(pMan.TryGetTaskNPCInfo((uint)idTarget, out NPC_INFO pInfo)) + { + m_TargetPos.Set(pInfo.x, pInfo.z, pInfo.y); + } + } + } + public MoveToLinkCommand(int idTarget, A3DVECTOR3 targetPos, string targetName, int idTask = 0){ + + m_TargetId = idTarget; + m_TargetName = targetName; + m_TaskId = idTask; + m_TargetPos = targetPos; + OBJECT_COORD coor = new OBJECT_COORD(); + coor.vPos = m_TargetPos; + m_Targets.Add(coor); + } + + /// + /// Get the first position from the targets list + /// + /// + /// + public MoveToLinkCommand(List targets, string targetName){ + m_TargetName = targetName; + m_Targets = targets; + m_TargetPos = new A3DVECTOR3(0, 0, 0); + m_TargetId = 0; + m_TaskId = 0; + if(targets.Count > 0) + { + m_TargetPos = m_Targets[0].vPos; + } + } + public MoveToLinkCommand(MoveToLinkCommand rhs){ + m_TargetId = rhs.m_TargetId; + m_TargetName = rhs.m_TargetName; + m_TaskId = rhs.m_TaskId; + m_TargetPos = rhs.m_TargetPos; + m_Targets = rhs.m_Targets; + } + + public override string GetLinkText() + { + if(m_TargetPos.IsZero()) + { + return m_TargetName; + } + else + { + string szNameLink = string.Format("{0}", m_TargetName); + return szNameLink; + } + } + + public override LinkCommand Clone() => new MoveToLinkCommand(this); + + public override bool Execute(TMP_Text pLink){ + if (pLink) + { + if (!m_TargetPos.IsZero()) + { + // show the flag on worldmap + DlgTask.SetTracePosition(m_Targets, m_TargetName); + return true; + } + else + { + Debug.LogError("MoveToLinkCommand: Invalid target position"); + //EC_Game.GetGameRun().AddFixedMessage(FIXMSG_ERR_FC_INVALID_OPERATION); + } + } + + return false; + } + } + ////////////////////////////////////////////////////////////////////////// + // TaskNameHoverCommand + ////////////////////////////////////////////////////////////////////////// + // ����ȷ������������ĸ������� + public class TaskNameHoverCommand : LinkCommand + { + public StringRef m_Buffer; + public string m_TaskName; + public bool m_bError; + public int m_iTaskID; + public bool m_bCanContributionFinish; + public TaskNameHoverCommand(StringRef buffer, string strName, int task_id, bool bError, bool bCanContributionFinish) + { + m_Buffer = buffer; + m_TaskName = strName; + m_iTaskID = task_id; + m_bError = bError; + m_bCanContributionFinish = bCanContributionFinish; + } + public TaskNameHoverCommand(TaskNameHoverCommand rhs) + { + m_Buffer = rhs.m_Buffer; + m_TaskName = rhs.m_TaskName; + m_iTaskID = rhs.m_iTaskID; + m_bError = rhs.m_bError; + m_bCanContributionFinish = rhs.m_bCanContributionFinish; + } + + public override string GetLinkText() + { + + string szNameLink = string.Format("{0}", m_TaskName);//red + if (m_bError) + szNameLink = string.Format("{0}", m_TaskName);//red + else + szNameLink = string.Format("{0}", m_TaskName);//yellow + + return szNameLink; + } + + public override void AppendText() + { + m_Buffer.Value += GetLinkText(); + } + public override LinkCommand Clone() + { + return new TaskNameHoverCommand(this); + } + public override bool Execute(TMP_Text pLink) + { + return true; + } + } +} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs.meta b/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs.meta new file mode 100644 index 0000000000..6d0e948503 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgNameLink.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c1f5700d6e50348a188e5a289150751f \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs b/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs index 4452bbd2b6..8592f9d79e 100644 --- a/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs +++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgTask.cs @@ -36,7 +36,7 @@ namespace BrewMonster.Scripts.Task.UI // Keep original macro as constant for array sizing public const int CDLGTASK_AWARDITEM_MAX = 8; - + public const int TickRate = 1000; // ===== Nested structs (converted from C++), keep naming, public with explicit layout ===== // [中文] 任务目标位置 @@ -99,7 +99,7 @@ namespace BrewMonster.Scripts.Task.UI [SerializeField] protected Button m_pBtn_NormalQuest; // PAUISTILLIMAGEBUTTON -> Button [SerializeField] protected Button m_pBtn_SearchQuest; // PAUISTILLIMAGEBUTTON -> Button [SerializeField] protected Button m_pBtn_HaveQuest; // PAUISTILLIMAGEBUTTON -> Button - [SerializeField] protected Button m_pBtn_bShowTrace; // PAUISTILLIMAGEBUTTON -> Button + [SerializeField] protected Toggle m_pTog_bShowTrace; // PAUISTILLIMAGEBUTTON -> Button [SerializeField] protected Button m_pBtn_FinishTask; // PAUISTILLIMAGEBUTTON -> Button [SerializeField] protected TMP_Text m_pTxt_BaseAward; // PAUILABEL -> TMP_Text @@ -126,7 +126,7 @@ namespace BrewMonster.Scripts.Task.UI // [中文] 目标坐标集合 // [English] Target coordinates collection - private static List m_TargetCoord = new List(); + private static List m_TargetCoord = new List(); private static string m_strTraceName = string.Empty; // ACString -> string @@ -163,10 +163,16 @@ namespace BrewMonster.Scripts.Task.UI OnEventLButtonDown_Tv_Quest(evt.Data); }); - m_pBtn_HaveQuest.onClick.AddListener(OnCommand_havequest); - m_pBtn_SearchQuest.onClick.AddListener(OnCommand_searchquest); - m_pBtn_Abandon.onClick.AddListener(OnCommand_abandon); - + m_pBtn_HaveQuest.onClick.AddListener(OnCommand_havequest); + m_pBtn_SearchQuest.onClick.AddListener(OnCommand_searchquest); + m_pBtn_Abandon.onClick.AddListener(OnCommand_abandon); + Btn_Focus.onClick.AddListener(() => OnCommand_focus()); + if (m_pTog_bShowTrace) + { + m_pTog_bShowTrace.onValueChanged.AddListener((state) => OnCommand_showtrace(null,state)); + m_pTog_bShowTrace.isOn = false; + } + // Convert exactly like C++ OnEventLButtonDown_Txt_QuestItem // 完全按照C++ OnEventLButtonDown_Txt_QuestItem转换 // C++ uses WM_LBUTTONDOWN event, we use EventTrigger PointerClick // C++使用WM_LBUTTONDOWN事件,我们使用EventTrigger PointerClick if (m_pTxt_QuestItem != null) @@ -329,10 +335,14 @@ namespace BrewMonster.Scripts.Task.UI // C++: ChangeFocus(NULL); // C++: ChangeFocus(NULL); // TODO: Implement ChangeFocus if needed // TODO: 如果需要,实现ChangeFocus } - + public static void SetTracePosition(List targetPos, string targetName) + { + CECUIHelper.FollowCoord(targetPos, targetName); + } + private new void Update() - { - Tick(); + { + Tick(); } #endregion @@ -347,7 +357,6 @@ namespace BrewMonster.Scripts.Task.UI // PAUIOBJECT pObj = GetDlgItem("Img_New"); // if (pObj && IsShow()) pObj->Show(false); // if(GetDlgItem("Lab_Trace")) GetDlgItem("Lab_Trace")->Show(false); - if(m_pBtn_bShowTrace) m_pBtn_bShowTrace.gameObject.SetActive(false); m_pBtn_Abandon.gameObject.SetActive(false); Btn_Focus.gameObject.SetActive(false); Lab_QuestNO.gameObject.SetActive(false); @@ -360,7 +369,6 @@ namespace BrewMonster.Scripts.Task.UI { m_iType = 0; // TODO: if(GetDlgItem("Lab_Trace")) GetDlgItem("Lab_Trace")->Show(true); - if(m_pBtn_bShowTrace) m_pBtn_bShowTrace.gameObject.SetActive(true); m_pBtn_Abandon.gameObject.SetActive(true); Btn_Focus.gameObject.SetActive(true); Lab_QuestNO.gameObject.SetActive(true); @@ -369,8 +377,123 @@ namespace BrewMonster.Scripts.Task.UI m_pBtn_HaveQuest.interactable = false; UpdateTask(); } - public void OnCommand_showtrace(string szCommand) {} - public void OnCommand_focus(string szCommand) {} + public void OnCommand_showtrace(string szCommand,bool state) { + m_bShowTrace = state; + // hide the trace window + // Get AUIManager, fallback to GetGameUIMan() if m_pAUIManager is not set yet + // 获取AUIManager,如果m_pAUIManager尚未设置则回退到GetGameUIMan() + AUIManager auiManager = GetAUIManager(); + if (auiManager == null) { + // Try to get it from GetGameUIMan() as fallback + // 尝试从GetGameUIMan()获取作为回退 + CECGameUIMan gameUIMan = GetGameUIMan(); + auiManager = gameUIMan; + } + + AUIDialog pTrace = auiManager.GetDialog("Win_QuestMinion"); + if (pTrace) { + pTrace.Show(m_bShowTrace); + } + } + public void OnCommand_focus(string szCommand="") { + var pTree = m_pTv_Quest; + var pItem = pTree?.GetSelectedItem(); + if (pItem == null) + { + BMLogger.LogWarning("Cannot focus task: No task is currently selected"); + return; + } + var idTask = pTree?.GetItemData(pItem); + if (idTask == 0) + { + BMLogger.LogWarning("Cannot focus task: Selected item has no valid task ID"); + return; + } + m_pTog_bShowTrace.onValueChanged.Invoke(true); + SwitchTaskTrace((int)idTask); + } + void SwitchTaskTrace(int idTask) + { + var pDlg = + m_pAUIManager?.GetDialog("Win_QuestMinion"); + pDlg?.Show(true); + if (IsPQTaskOrSubTask(idTask)) + return; + + if(!IsTaskTraceable(idTask)) + return; + + var pTask = GetHostPlayer()?.GetTaskInterface(); + bool bFinishedTask = pTask?.CanFinishTask((uint)idTask) ?? false; + + // Toggle behavior: if task is already in a list, remove it; otherwise add it + bool isInCanFinish = m_vecTasksCanFinish.Contains(idTask); + bool isInUnFinish = m_vecTasksUnFinish.Contains(idTask); + + if (isInCanFinish || isInUnFinish) + { + // Second click: remove from both lists (toggle off) + m_vecTasksCanFinish.Remove(idTask); + m_vecTasksUnFinish.Remove(idTask); + } + else + { + // First click: add to appropriate list (toggle on) + if(bFinishedTask) + { + m_vecTasksCanFinish.Add(idTask); + m_vecTasksUnFinish.Remove(idTask); // Remove from other list if present + } + else + { + m_vecTasksUnFinish.Add(idTask); + m_vecTasksCanFinish.Remove(idTask); // Remove from other list if present + } + } + } + bool IsTaskTraceable(int idTask) + { + var pMan = EC_Game.GetTaskTemplateMan(); + var pTemp = pMan?.GetTaskTemplByID((uint)idTask); + + // ��������׷�� + if (IsQuestionTask(pTemp)) { + return false; + } + + Task_State_info tsi = default; + var pTask = GetHostPlayer()?.GetTaskInterface(); + pTask?.GetTaskStateInfo((uint)idTask, ref tsi); + + bool bTrace = tsi.m_ulTimeLimit > 0 || + tsi.m_ulProtectTime > 0 || + tsi.m_ulNPCToProtect > 0 || + tsi.m_MonsterWanted[0].m_ulMonstersToKill > 0 || + tsi.m_PlayerWanted[0].m_ulPlayersToKill > 0 || + tsi.m_ItemsWanted[0].m_ulItemId > 0 || + tsi.m_ulWaitTime > 0 || + tsi.m_TaskCharArr._finish > 0 || + tsi.m_ulReachLevel > 0 || + tsi.m_ulReachRealm > 0 || + tsi.m_ulReachReincarnation > 0; + + // check the condition from template + if(!bTrace) + { + if (pTemp.m_FixedData.m_ulReachSiteCnt > 0 || + (pTemp.m_FixedData.m_ulAwardNPC > 0 && (pTask?.CanFinishTask((uint)idTask) ?? false))){ + bTrace = true; + } + } + + return bTrace; + } + bool IsPQTaskOrSubTask(int idTask) + { + var pMan = EC_Game.GetTaskTemplateMan(); + var pTemp = pMan?.GetTaskTemplByID((uint)idTask); + return (pTemp!=null && (pTemp.m_FixedData.m_bPQTask || pTemp.m_FixedData.m_bPQSubTask)); + } public void OnCommand_abandon() { // [中文] 放弃任务:发送通知到服务器 // [English] Abandon task: send notification to server @@ -398,6 +521,14 @@ namespace BrewMonster.Scripts.Task.UI return; } + // Check if the task is actually active before allowing abandon + // This prevents trying to abandon a task that's already been abandoned + if (!pTask.HasTask(selectedTaskId)) + { + BMLogger.LogWarning($"Cannot abandon task: Task {selectedTaskId} is not active"); + return; + } + // Get the task template to find the top-level task ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan(); ATaskTempl pTempl = pMan?.GetTaskTemplByID(selectedTaskId); @@ -411,8 +542,31 @@ namespace BrewMonster.Scripts.Task.UI ATaskTempl pTopTask = pTempl.GetTopTask(); uint topTaskId = pTopTask != null ? pTopTask.GetID() : selectedTaskId; + // Verify the top-level task is also active + if (!pTask.HasTask(topTaskId)) + { + BMLogger.LogWarning($"Cannot abandon task: Top-level task {topTaskId} is not active"); + return; + } + + // Remove task from trace lists immediately (optimistic update) + // This prevents the abandoned task from showing in the task trace UI + int taskIdInt = (int)topTaskId; + m_vecTasksCanFinish.Remove(taskIdInt); + m_vecTasksUnFinish.Remove(taskIdInt); + // Send notification to server to abandon the currently selected task TaskClient._notify_svr(pTask, (byte)ClientNotificationConstants.TASK_CLT_NOTIFY_CHECK_GIVEUP, (ushort)topTaskId); + + // Refresh UI immediately to reflect the change + // The server confirmation will trigger another refresh, but this gives immediate feedback + RefreshTaskTrace(); + + // Clear selection if the abandoned task was selected + if (m_idSelTask == (int)topTaskId) + { + m_idSelTask = 0; + } } public void OnCommand_CANCEL(string szCommand) {} public void OnCommand_TreasureMap(string szCommand) {} @@ -451,6 +605,7 @@ namespace BrewMonster.Scripts.Task.UI // } m_idSelTask = idTask; + Debug.Log($"[DlgTask] OnEventLButtonDown_Tv_Quest: {idTask}"); } // void OnEventMouseMove_Txt_QuestItem(WPARAM wParam, LPARAM lParam, AUIObject *pObj); // void OnEventLButtonDown_Txt_QuestItem(WPARAM wParam, LPARAM lParam, AUIObject *pObj); @@ -539,7 +694,6 @@ namespace BrewMonster.Scripts.Task.UI } Color result; EC_Utility.STRING_TO_A3DCOLOR(GetStringFromTable(idType - (int)ENUM_TASK_TYPE.enumTTDaily + 3121), out result); - Debug.Log("[DlgTask] GetTaskColor result : " + result); return result; // return UnityEngine.Color.white; } @@ -552,6 +706,8 @@ namespace BrewMonster.Scripts.Task.UI // private bool Tick() { + Debug.Log("[DlgTask] Tick"); + RefreshTaskTrace(); // Time-window task refresh: while in Search view, refresh the list when server time crosses a minute boundary. // This is throttled to avoid rebuilding large task lists every frame. if (m_iType == 1) @@ -572,7 +728,6 @@ namespace BrewMonster.Scripts.Task.UI // Rebuild available task list according to current time-based prerequisites. SearchForTask(-1); - // Restore selection best-effort (TaskTreeView selection is driven by EventBus). if (_pendingReselectTaskId != 0u) { @@ -652,8 +807,146 @@ namespace BrewMonster.Scripts.Task.UI return true; } - // - // void RefreshTaskTrace(); + + public void TickTaskTrace() + { + if (m_TaskTraceCounter.IncCounter(EC_Game.GetRealTickTime())) { + m_TaskTraceCounter.Reset(); + RefreshTaskTrace(); + } + } + public void RefreshTaskTrace() + { + Debug.Log("[DlgTask] RefreshTaskTrace"); + // Get AUIManager, fallback to GetGameUIMan() if m_pAUIManager is not set yet + // 获取AUIManager,如果m_pAUIManager尚未设置则回退到GetGameUIMan() + AUIManager auiManager = GetAUIManager(); + if (auiManager == null) { + CECGameUIMan gameUIMan = GetGameUIMan(); + if (gameUIMan == null) { + return; + } + auiManager = gameUIMan; + } + + DlgTaskTrace pDlgTaskTrace = auiManager.GetDialog("Win_QuestMinion") as DlgTaskTrace; + if (pDlgTaskTrace == null) + return; + if (m_pTog_bShowTrace && !m_bShowTrace) + return; + ShowType showType = pDlgTaskTrace.GetShowType(); + // bool bShow = showType == ShowType.ST_TRACED || showType == ShowType.ST_TITLE; + bool bShow =true;//for test + if (bShow) + { + CECHostPlayer host = GetHostPlayer(); + CECTaskInterface pTask = host.GetTaskInterface(); + if( m_vecTasksCanFinish.Count > 0 ) + { + for(int i = 0; i < m_vecTasksCanFinish.Count; i++ ) + { + int idTask = m_vecTasksCanFinish[i]; + bool bCanFinish = pTask.CanFinishTask((uint)idTask); + bool bHasTask = pTask.HasTask((uint)idTask); + if(!bHasTask || !bCanFinish) + { + // 任务未完成,状态变化要删除 + m_vecTasksCanFinish.RemoveAt(i); + i--; + if (bHasTask && !bCanFinish) { + if (!m_vecTasksUnFinish.Contains(idTask)) + m_vecTasksUnFinish.Add(idTask); + } + } + } + } + if( m_vecTasksUnFinish.Count > 0 ) + { + for(int i = 0; i < m_vecTasksUnFinish.Count; i++ ) + { + int idTask = m_vecTasksUnFinish[i]; + bool bCanFinish = pTask.CanFinishTask((uint)idTask); + bool bHasTask = pTask.HasTask((uint)idTask); + if(!bHasTask || bCanFinish) + { + // �������û���ˣ�����״̬�仯Ҫ�Ƴ����� + m_vecTasksUnFinish.RemoveAt(i); + i--; + if (bHasTask && bCanFinish) { + if (!m_vecTasksCanFinish.Contains(idTask)) + m_vecTasksCanFinish.Add(idTask); + } + } + } + } + List tasks = new List(); + tasks.Capacity = m_vecTasksCanFinish.Count + m_vecTasksUnFinish.Count; + tasks.AddRange(m_vecTasksCanFinish); + tasks.AddRange(m_vecTasksUnFinish); + List titlle_list = new List(); + List titletask_list = new List(); + //Dictionary title_map = new Dictionary(); + if (pDlgTaskTrace.GetShowType() == ShowType.ST_TITLE) + { + ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan(); + //pMan.GetTitleTasks(pTask, titlle_list); + for (int i = 0; i < titlle_list.Count; i++) { + if (IsTaskTraceable(titlle_list[i].GetID())) + titletask_list.Add((int)titlle_list[i].GetID()); + } + } + // Always refresh task trace, even when lists are empty, to clear/update the display + if (!(GetHostPlayer().IsDead() || GetHostPlayer().IsTrading() || 0 != GetHostPlayer().GetBoothState())) + { + pDlgTaskTrace.RefreshTaskTrace(tasks.ToArray(), tasks.Count, titletask_list.ToArray(), titletask_list.Count, true); + } + } else if (showType == ShowType.ST_CONTRIBUTION) + { + pDlgTaskTrace.UpdateContributionTask(); + } + } + public bool IsTaskTraceable(uint idTask) + { + ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan(); + ATaskTempl pTemp = pMan.GetTaskTemplByID(idTask); + + // ��������׷�� + if (IsQuestionTask(pTemp)) { + return false; + } + + Task_State_info tsi = new Task_State_info(); + CECTaskInterface pTask = GetHostPlayer().GetTaskInterface(); + pTask.GetTaskStateInfo(idTask, ref tsi); + + bool bTrace = tsi.m_ulTimeLimit > 0 || + tsi.m_ulProtectTime > 0 || + tsi.m_ulNPCToProtect > 0 || + tsi.m_MonsterWanted[0].m_ulMonstersToKill > 0 || + tsi.m_PlayerWanted[0].m_ulPlayersToKill > 0 || + tsi.m_ItemsWanted[0].m_ulItemId > 0 || + tsi.m_ulWaitTime > 0 || + tsi.m_TaskCharArr._finish > 0 || + tsi.m_ulReachLevel > 0 || + tsi.m_ulReachRealm > 0 || + tsi.m_ulReachReincarnation > 0; + + // check the condition from template + if(!bTrace) + { + if (pTemp.m_FixedData.m_ulReachSiteCnt > 0 || + (pTemp.m_FixedData.m_ulAwardNPC > 0 && pTask.CanFinishTask((uint)idTask))){ + bTrace = true; + } + } + + return bTrace; + } + + public bool IsQuestionTask(ATaskTempl pTemp){ + return pTemp.m_FixedData.m_ulType == (uint)ENUM_TASK_TYPE.enumTTQuestion; + } + public bool UpdateTask(int idTask = -1) { // Only rebuild the list if viewing "Have Quest" (m_iType == 0) @@ -975,7 +1268,36 @@ namespace BrewMonster.Scripts.Task.UI // void OnTaskPush(); // ���µĿɽ����� // void OnTaskProcessUpdated(int idTask); // �ѽ�����������Ҫ��ǰ��ʾ�� // void OnTaskItemGained(int idItem); + public static MINE_ESSENCE SearchTaskMine(int idTask, out bool found) + { + if(idTask <= 0) + { + found = false; + return default; + } + if (m_TaskMines.Count == 0) + { + var pDataMan = ElementDataManProvider.GetElementDataMan(); + + foreach (var kv in pDataMan.essence_id_data_type_map) + { + if (kv.Value == DATA_TYPE.DT_MINE_ESSENCE && kv.Key != 0) + { + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + var pMine = (MINE_ESSENCE)pDataMan.get_data_ptr(kv.Key, ID_SPACE.ID_SPACE_ESSENCE, ref dt); + m_TaskMines[(int)pMine.task_in] = pMine; + } + } + + // avoid duplicated init + m_TaskMines[0] = null; + } + + var itr = m_TaskMines.TryGetValue(idTask, out var value); + found =itr; + return itr ? (MINE_ESSENCE)value : default; + } #endregion #region PRIVATE METHODS @@ -1047,6 +1369,7 @@ namespace BrewMonster.Scripts.Task.UI // virtual bool OnInitDialog(); void OnShowDialog() { + OnCommand_showtrace(null,m_bShowTrace); if (m_idSelTask != 0) UpdateTask(); } @@ -1117,7 +1440,6 @@ namespace BrewMonster.Scripts.Task.UI ATaskTempl childTempl = pMan.GetTaskTemplByID(childId); Color disPlayColor=Color.white; string text = childTempl != null ? GetTaskNameWithColor(childTempl,out disPlayColor) : $"Task {childId}"; - Debug.Log("[DlgTask] InsertActiveTaskChildren text: " + text); var pItem = pTreeTask.InsertItem(text, pRoot, null); pItem.SetItemTextColor(disPlayColor); if (pItem != null) @@ -1337,7 +1659,7 @@ namespace BrewMonster.Scripts.Task.UI strText += sb.ToString(); } - private static string FormatTime(int nSec, string desc, int timeLimit) + public static string FormatTime(int nSec, string desc, int timeLimit) { var ts = System.TimeSpan.FromSeconds(System.Math.Max(0, nSec)); string label = string.IsNullOrEmpty(desc) ? string.Empty : desc; @@ -1498,7 +1820,7 @@ namespace BrewMonster.Scripts.Task.UI { // Resolve monster name // 解析怪物名称 - string strName = "^00FF00????^FFFFFF"; + string strName = "????"; var edm = BrewMonster.ElementDataManProvider.GetElementDataMan(); if (edm != null && edm.essence_id_data_type_map.TryGetValue(id, out var dtype) && dtype == DATA_TYPE.DT_MONSTER_ESSENCE @@ -1557,7 +1879,7 @@ namespace BrewMonster.Scripts.Task.UI if (tsi.m_ulReachReincarnation != 0) { int iLevel = GetReincarnationCount(pHost); - string strColor = (iLevel < (int)tsi.m_ulReachReincarnation) ? "^ff0000" : "^00ff00"; + string strColor = (iLevel < (int)tsi.m_ulReachReincarnation) ? "" : ""; if (iLevel < (int)tsi.m_ulReachReincarnation) { strHint += Format(GetStringFromTable(11144), iLevel); @@ -1571,7 +1893,7 @@ namespace BrewMonster.Scripts.Task.UI if (tsi.m_ulReachLevel != 0 && pHost != null) { int iLevel = pHost.GetBasicProps().iLevel; - string strColor = (iLevel < (int)tsi.m_ulReachLevel) ? "^ff0000" : "^00ff00"; + string strColor = (iLevel < (int)tsi.m_ulReachLevel) ? "" : ""; if (iLevel < (int)tsi.m_ulReachLevel) { strHint += Format(GetStringFromTable(11143), iLevel); @@ -1585,7 +1907,7 @@ namespace BrewMonster.Scripts.Task.UI if (tsi.m_ulReachRealm != 0 && pHost != null) { int iLevel = GetRealmLevel(pHost); - string strColor = (iLevel < (int)tsi.m_ulReachRealm) ? "^ff0000" : "^00ff00"; + string strColor = (iLevel < (int)tsi.m_ulReachRealm) ? "" : ""; if (iLevel < (int)tsi.m_ulReachRealm) { strHint += Format(GetStringFromTable(11145), iLevel); diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs b/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs new file mode 100644 index 0000000000..dae29c4e3a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs @@ -0,0 +1,1001 @@ +using UnityEngine; +using BrewMonster.UI; +using UnityEngine.UI; +using TMPro; +using System.Collections.Generic; +using CSNetwork.GPDataType; +using BrewMonster.Network; +using ModelRenderer.Scripts.GameData; +using ModelRenderer.Scripts.Common; +using PerfectWorld.Scripts.Managers; +using BrewMonster.Scripts.Managers; +using BrewMonster.Scripts.World; +using BrewMonster.Scripts.UI; +namespace BrewMonster.Scripts.Task.UI +{ + public enum ShowType + { + ST_NONE, // ��ʼֵ + ST_TRACED, // ��ʾ��ǰ��׷������ + ST_TITLE, // ��ʾ�ѽӳƺ����� + ST_CONTRIBUTION, // ��ʾ���������ѵĹ��׶����� + } + public class DlgTaskTrace : DlgNameLink + { + static string COLOR_YELLOW = ""; + static string COLOR_RED = ""; + static string COLOR_WHITE = ""; + static string INDENTATION = " "; + protected StringRef m_Buffer; + [SerializeField] protected StyledTaskTraceText m_pTxt_Desc; + [SerializeField] protected Toggle m_pChk_Collapse; + [SerializeField] protected GameObject m_pCollapsedArea; + protected Dictionary m_uniqueNameCountMap = new Dictionary(); + [SerializeField] protected Button m_pBtnUnTrace; + [SerializeField] protected Button m_pBtnMap; + [SerializeField] protected Button m_pBtnChat; + [SerializeField] protected Button m_pBtnFinishTaskByContribution; + [SerializeField] protected Button m_pBtnContributionTaskHelp; + protected int m_nLastTracedTasks; // ����ʾ���ݶ�Ӧ��׷��������������ijЩ����������������б����л��� + protected ShowType m_nLastShowType; // ����ʾ���ݶ�Ӧ���б����� + protected int m_nTraceWorldID; // ����ʾ��Ϣ��׷����Ϣ��Ӧ�ĵ�ͼID + protected int m_iContributionCurrentPage; + protected int m_iContributionTotalPage; + protected int m_iIndexForContribution; + protected bool m_bShowTrace; + + public void Awake() + { + + //AUI_ON_COMMAND("Chk_Collapse", OnCommand_SwitchCollapse); + m_pChk_Collapse.onValueChanged.AddListener(OnCommand_SwitchCollapse); + + //AUI_ON_COMMAND("Rdo_Quest*", OnCommand_SwitchShowType) + //Not sure if we need this + //AUI_ON_COMMAND("Btn_UnTrace", OnCommand_UnTraceTask) + m_pBtnUnTrace.onClick.AddListener(OnCommand_UnTraceTask); + //AUI_ON_COMMAND("Btn_Map", OnCommand_Map) + m_pBtnMap.onClick.AddListener(OnCommand_Map); + //AUI_ON_COMMAND("Btn_ForChat", OnCommand_Chat) + m_pBtnChat.onClick.AddListener(UpdateContributionTask); + //AUI_ON_COMMAND("Btn_Finish", OnCommand_FinishTask) + //m_pBtnFinishTaskByContribution.onClick.AddListener(() => OnCommand_FinishTask(null)); + + // AUI_ON_EVENT("Edit_Title", WM_LBUTTONDBLCLK, OnEventDBClk_Title) + // AUI_ON_EVENT("Txt_Title", WM_LBUTTONDBLCLK, OnEventDBClk_Title) + // AUI_ON_EVENT("Txt_Link_Trace", WM_RBUTTONDOWN, OnEventRButton_Txt_Link_Trace) + // AUI_ON_EVENT("Txt_Link_Trace", WM_RBUTTONUP, OnEventRButton_Txt_Link_Trace) + // AUI_ON_EVENT("Txt_Link_Trace", WM_LBUTTONDOWN, OnEventLButton_Txt_Link_Trace) + // AUI_ON_EVENT("Txt_Link_Trace", WM_LBUTTONUP, OnEventLButton_Txt_Link_Trace) + // AUI_ON_EVENT("Txt_Link_Trace", WM_MOUSEWHEEL, OnMouseWheel) + } + public override void OnShowDialogue() + { + base.OnShowDialogue(); + //m_pTxt_Desc = dynamic_cast(GetDlgItem("Txt_Link_Trace")); + //if(m_pTxt_Desc) m_pTxt_Desc->SetForceRenderScroll(false); + //m_pChk_Collapse = dynamic_cast(GetDlgItem("Chk_Collapse")); + // if (m_szName == "Win_QuestMinion") { + // m_pBtnUnTrace.gameObject.SetActive(false); + // m_pBtnMap.gameObject.SetActive(false); + // m_pBtnChat.gameObject.SetActive(false); + // m_pBtnFinishTaskByContribution.gameObject.SetActive(false); + // m_pBtnContributionTaskHelp.gameObject.SetActive(false); + // } + // GameObject pObjRadio = transform.Find("Rdo_Quest1").gameObject; + // if (pObjRadio) SetShowType(ShowType.ST_TRACED); + // pObjRadio = transform.Find("Rdo_Quest2").gameObject; + // if (pObjRadio) pObjRadio.gameObject.SetActive( + // //todo: get from config + // //CECUIConfig::Instance().GetGameUI().bEnableTitle + // true + // ); + // ����׷�ٽ�����ʾĬ���б� + } + public void OnShowDialog() + { + m_pChk_Collapse.isOn = true; + GameObject pObjRadio = transform.Find("Rdo_Quest3").gameObject; + if (pObjRadio) { + int levelLimit = + //todo: get from config + //CECUIConfig::Instance().GetGameUI().nContributionTaskLevelLimit + 0; + CECHostPlayer pHost = GetHostPlayer(); + if (pHost && pHost.GetMaxLevelSofar() >= levelLimit) + pObjRadio.gameObject.SetActive(true); + } + } + + private void OnChangeLayoutEnd(bool bAllDone) + { + if (m_szName == "Win_QuestMinion" && !m_bShowTrace) { + // Vector2 cur = this->GetSize(); + // Vector2 desc = m_pTxt_Desc->GetSize(); + // cur.cy -= desc.cy; + // this->SetSize(cur.cx, cur.cy); + // m_pChk_Collapse->Check(false); + } + } + public void RefreshTaskTrace(int[] traced, int nTraced, int[] titletasks, int num, bool withName) + { + ShowType showType = GetShowType(); + m_pTxt_Desc.RefreshLinkCommands(); + if (nTraced == 0 && num == 0) + { + return; + } + int size = 0; + int[] tasks = null; + if (showType == ShowType.ST_NONE) { + showType = ShowType.ST_TRACED; + } + switch (showType) + { + case ShowType.ST_TRACED: size = nTraced; tasks = traced; break; + case ShowType.ST_TITLE: size = num; tasks = titletasks; break; + } + + //bool bShow = !GetGameUIMan()->IsCustomizeCharacter(); + + //if(IsShow() != bShow) Show(bShow); + Show(true); + int idWorld = 0; + var gameRun = EC_Game.GetGameRun(); + if (gameRun != null && gameRun.GetWorld() != null) + { + idWorld = gameRun.GetWorld().GetInstanceID(); + } + else if (CECWorld.Instance != null) + { + idWorld = CECWorld.Instance.GetInstanceID(); + } + if (IsShow()) + { // �ѽ�������Ϣ��ʵʱ���� + + if (m_nTraceWorldID != idWorld || // ��ͼ�б䣬׷����Ϣ����� + showType == ShowType.ST_TRACED || // �ѽ�������Ϣ��ʵʱ���� + showType == ShowType.ST_TITLE) // �ѽӳƺ�������Ϣ��ʵʱ���� + { + PrepareRebuildTaskTrace(); + for (int i = size-1; i >= 0; i--) + { + FormatTaskTraceDesc(tasks[i], withName, "", false, size - i); + } + KeepScrollBarPosition(); + m_nTraceWorldID = idWorld; + } + } + + m_nLastTracedTasks = nTraced; + m_pTxt_Desc.Set(m_Buffer.Value); + } + + public void RefreshTaskTrace(int[] tasks, int size, bool withName) + { + bool bShow = size > 0; + + // show/hide the trace dialog + if(IsShow() != bShow) + { + Show(bShow); + } + + if (!IsShow()) + return; + + PrepareRebuildTaskTrace(); + + // get the formatted desc + for(int i=(int)size-1; i>=0; i--) + { + FormatTaskTraceDesc(tasks[i], withName, ""); + } + + m_pTxt_Desc.Set(m_Buffer.Value); + } + public void SetShowType(ShowType rhs) + { + int nCheck = 0; + switch (rhs) + { + case ShowType.ST_TRACED: + nCheck = 0; break; + case ShowType.ST_TITLE: + nCheck = 1; break; + case ShowType.ST_CONTRIBUTION: + nCheck = 2; break; + default: Debug.LogError("Invalid show type"); break; + } + //todo: check radio button + //CheckRadioButton(0, nCheck); + m_nLastShowType = rhs; + } + protected void AppendCommand(string pName, int idTarget, int idTask) + { + string strName = pName; + + if(!string.IsNullOrEmpty(strName)) + { + //todo: MakeNameUnique(not implemented) + string strUniqueName = MakeNameUnique(strName); + if (!string.IsNullOrEmpty(strUniqueName)){ + TraceLinkCommand cmd = new TraceLinkCommand(m_Buffer, idTarget, strUniqueName, idTask); + Debug.Log($"[DlgTaskTrace] AppendCommand: strUniqueName {strUniqueName}"); + BindLinkCommand(m_pTxt_Desc.tmp, strUniqueName, cmd); + } + } + } + public void AppendCommand(int worldid, Task_Region[] pRegions, int size) + { + List instCoord = new List(), tempCoord = new List(); + int cur = CECWorld.Instance.GetInstanceID(); + CECInstance pInstance = EC_Game.GetGameRun().GetInstance(cur); + string strCurMap = pInstance.GetPath(); + // find the entrance of instance + pInstance = EC_Game.GetGameRun().GetInstance(worldid); + string mapName = pInstance != null ? pInstance.GetPath() : ""; + + if(cur != worldid) + { + EC_Game.GetObjectCoord(mapName, ref tempCoord); + var iter = tempCoord.Find(coord => coord.strMap == strCurMap); + instCoord.Add(iter); + } + else if(size > 0 && pRegions != null) + { + for(int i=0;i 0) + { + string strName; + + A3DVECTOR3 vPos = instCoord[0].vPos; + strName = FormatFromTable(9393, ((int)vPos.x+4000)/10, ((int)vPos.z+5500)/10); + Debug.Log($"[DlgTaskTrace] AppendCommand: strName {strName}"); + strName = string.Format("{1}", instCoord[0].strMap, strName); + //FormatFromTable(9393, ((int)vPos.x+4000)/10, ((int)vPos.z+5500)/10); + + TraceLinkCommand cmd = new TraceLinkCommand(m_Buffer, instCoord, strName); + m_pTxt_Desc.AddLinkCommand(cmd); + BindLinkCommand(m_pTxt_Desc.tmp, strName, cmd); + } + } + void ResetNameUnique(){ + m_uniqueNameCountMap.Clear(); + } + string MakeNameUnique(string strName) + { + string result = strName; + // if (!strName.IsEmpty()) + // { + // ACString strTrimmedName = strName; + // strTrimmedName.TrimLeft(); + // strTrimmedName.TrimRight(); + // if (!strTrimmedName.IsEmpty()){ + // UniqueNameCountMap::iterator it = m_uniqueNameCountMap.find(strTrimmedName); + // if (it == m_uniqueNameCountMap.end()){ + // m_uniqueNameCountMap[strTrimmedName] = 1; + // }else{ + // ++ it->second; + // } + // result = strTrimmedName; + // if (int spaceCount = m_uniqueNameCountMap[strTrimmedName]-1){ + // ACString strMakeUniqueSuffix(_AL(' '), spaceCount); + // result += strMakeUniqueSuffix; + // } + // } + // } + return result; + } + void AppendText(string text) + { + m_Buffer.Value += text; + } + public ShowType GetShowType() + { + return m_nLastShowType; + } + void PrepareRebuildTaskTrace(){ + m_Buffer = new StringRef(); + m_Buffer.Value = ""; + ClearCommands(); + ResetNameUnique(); + } + void DeleteColorStr(string strName) + { + //Delete all ^ffffff + if (strName.StartsWith("^")) { + strName = strName.Substring(7); + } + } + void OnCommand_UnTraceTask(string szCommand) + { + LinkCommand cmd = GetLinkCommand(m_pTxt_Desc.tmp, szCommand); + if (cmd != null) { + cmd.Execute(m_pTxt_Desc.tmp); + } + } + void FinishTaskSpendingContribution(int taskID) + { + var pTask = GetHostPlayer().GetTaskInterface(); + var pMan = EC_Game.GetTaskTemplateMan(); + var pTemp = pMan.GetTaskTemplByID((uint)taskID); + var pActiveLst = pTask.GetActiveTaskList(); + var pEntry = pActiveLst.GetEntry((uint)taskID); + if (pTemp!=null && pEntry!=null && !pEntry.IsFinished()) { + if (pTemp.m_Award_S.m_ulCandItems > 1) { + //TODO: add Win_Award dialog + var pAward = GetGameUIMan().GetDialog("Win_Award"); + if (pAward != null) { + //pAward.UpdateAwardItem(taskID, false, true); + //pAward.Show(true); + } + } + else pTask.FinishTaskSpendingWorldContribution(taskID); + UpdateContributionTask(); + } + } + public void UpdateContributionTask() + { + + if (GetShowType() != ShowType.ST_CONTRIBUTION) + { + //return; + } + var pHost = GetHostPlayer(); + var pTask = pHost.GetTaskInterface(); + var pStorageList = pTask.GetStorageTaskList(); + var pActiveLst = pTask.GetActiveTaskList(); + var pTaskMan = EC_Game.GetTaskTemplateMan(); + var pElementDataMan = EC_Game.GetElementDataMan(); + PrepareRebuildTaskTrace(); + // ��ʾ���׶Ⱥ������ѹ��׶� + string strText; + strText = string.Format("{0}{1}{2}{3} {4}{5}{6}{7}/{8}", GetStringFromTable(11289), GetStringFromTable(11280), + GetStringFromTable(11292), pHost.GetWorldContribution(), GetStringFromTable(11289), GetStringFromTable(11281), + GetStringFromTable(11292), pHost.GetWorldContributionSpend(), + pHost.HaveHealthStones() ? 9999 : TaskInterfaceConstants.TASK_WORLD_CONTRIBUTION_SPEND_PER_DAY); + AppendText(strText); + AppendText("\n"); + m_iIndexForContribution = 0; + bool storageListCheck = pStorageList.m_StoragesTaskSetCount.Length > 0; + bool taskListCheck = pActiveLst.m_TaskEntries.Length > 0; + if (storageListCheck && taskListCheck && pElementDataMan != null && pActiveLst != null) { + int weightTaskStorageCount = 0; + for (int i = 1; i <= TaskInterfaceConstants.TASK_STORAGE_COUNT; ++i) { + var pEssence = pTaskMan.GetWeightTasksEssence((uint)i, out bool result); + if (result) { + if (m_iContributionCurrentPage == weightTaskStorageCount) { + var TaskSetIDs = new HashSet(); + var TaskIDs = new HashSet(); + // �������׶ȵ����� + for (int j = 0; j < pStorageList.m_StoragesTaskSetCount[i - 1]; ++j) { + int id = pStorageList.m_Storages[(i - 1) * TaskTemplConstants.TASK_STORAGE_LEN + j]; + if (id == 0) break; + AddTaskSetString(id, true, i); + TaskSetIDs.Add(id); + } + for (int j = pStorageList.m_StoragesTaskSetCount[i - 1]; j < TaskTemplConstants.TASK_STORAGE_LEN; ++j) { + int id = pStorageList.m_Storages[(i - 1) * TaskTemplConstants.TASK_STORAGE_LEN + j]; + if (id == 0) break; + AddTaskString(id, true, INDENTATION, true); + TaskIDs.Add(id); + } + + AppendText(GetStringFromTable(11290)); + // ���������׶ȵ�����ȡδ��ɵ����� + var aEntries = pActiveLst.m_TaskEntries; + var count = pEssence.uniform_weight_list.Length; + for (int j = 0; j < pActiveLst.m_uTaskCount; ++j) { + var CurEntry = aEntries[j]; + if (CurEntry.IsFinished()) + continue; + int id = CurEntry.m_ID; + for (int k = 0; k < count; ++k) { + int taskSetID = (int)pEssence.uniform_weight_list[k].task_list_config_id; + if (taskSetID == 0) break; + if (!TaskSetIDs.Contains(taskSetID) && TaskListHasID(taskSetID, id)) { + AddTaskSetString(taskSetID, false, i); + TaskSetIDs.Add(taskSetID); + } + } + if (!TaskIDs.Contains(id) && TaskListHasID((int)pEssence.other_task_list_config_id, id)) { + AddTaskString(id, false, INDENTATION, true); + TaskIDs.Add(id); + } + } + + // ���಻�������׶ȵ����� + for (int j = 0; j < (int)count; ++j) { + int id = (int)pEssence.uniform_weight_list[j].task_list_config_id; + if (!TaskSetIDs.Contains(id)) + AddTaskSetString(id, false, i); + } + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + var temp = pElementDataMan.get_data_ptr(pEssence.other_task_list_config_id, ID_SPACE.ID_SPACE_CONFIG, ref dt); + if (temp == null && dt != DATA_TYPE.DT_TASK_LIST_CONFIG) { + return; + } + var pConfig = (TASK_LIST_CONFIG)temp; + if (dt == DATA_TYPE.DT_TASK_LIST_CONFIG) { + count = pConfig.id_tasks.Length; + for (int j = 0; j < (int)count; ++j) { + int id = (int)pConfig.id_tasks[j]; + if (id == 0) break; + if (!TaskIDs.Contains(id)) + AddTaskString(id, false, INDENTATION, true); + } + } + } + weightTaskStorageCount++; + } + } + m_iContributionTotalPage = weightTaskStorageCount; + } + KeepScrollBarPosition(); + } + bool TaskListHasID(int listID, int taskID) + { + var pElementDataMan = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + var temp = pElementDataMan.get_data_ptr((uint)listID, ID_SPACE.ID_SPACE_CONFIG, ref dt); + if (temp == null && dt != DATA_TYPE.DT_TASK_LIST_CONFIG) { + return false; + } + var pConfig = (TASK_LIST_CONFIG)temp; + if (dt == DATA_TYPE.DT_TASK_LIST_CONFIG) { + var count = pConfig.id_tasks.Length; + for (int i = 0; i < count; ++i) { + int id = (int)pConfig.id_tasks[i]; + if (id == 0) break; + if (id == taskID) + return true; + } + } + return false; + } + + void AddTaskSetString(int id, bool hasContributionAward, int idStorage) + { + var pElementDataMan = ElementDataManProvider.GetElementDataMan(); + var pTask = GetHostPlayer().GetTaskInterface(); + var pActiveLst = pTask.GetActiveTaskList(); + var dt = DATA_TYPE.DT_INVALID; + var temp = pElementDataMan.get_data_ptr((uint)id, ID_SPACE.ID_SPACE_CONFIG, ref dt); + if (temp == null && dt != DATA_TYPE.DT_TASK_LIST_CONFIG) + { + return; + } + var pConfig = (TASK_LIST_CONFIG)temp; + var pStorage = EC_Game.GetTaskTemplateMan().GetWeightTasksEssence((uint)idStorage, out bool result); + //pconfig is check null above so skip check here + if (result) { + var count = pStorage.uniform_weight_list.Length; + int weight = 0; + for (int i = 0; i < count; ++i) { + if(pStorage.uniform_weight_list[i].task_list_config_id == 0) { + Debug.LogError("Uniform weight list task config id is 0"); + return; + } + if (pStorage.uniform_weight_list[i].task_list_config_id == id) { + weight = pStorage.uniform_weight_list[i].weight; + break; + } + } + string strColor; + if (hasContributionAward) { + strColor = GetStringFromTable(11286); + AppendText(strColor); + AppendText(GetStringFromTable(11284)); + } else { + weight = -weight; + strColor = GetStringFromTable(11287); + AppendText(strColor); + AppendText(GetStringFromTable(11285)); + } + + string strName = pConfig.Name; + AppendText(strColor + strName); + + var aEntries = pActiveLst.m_TaskEntries; + for (int i = 0; i < pActiveLst.m_uTaskCount; ++i) { + var CurEntry = aEntries[i]; + + int taskID = CurEntry.m_ID; + for (int j = 0; j < pConfig.id_tasks.Length; ++j) { + if (pConfig.id_tasks[j] == taskID) { + AddTaskString(taskID, hasContributionAward, INDENTATION); + break; + } + } + } + } + } + + void AddTaskString(int id, bool hasContributionAward, string strIndentIn, bool topLevel = false) + { + var pTask = GetHostPlayer().GetTaskInterface(); + var pTaskMan = EC_Game.GetTaskTemplateMan(); + var pActiveLst = pTask.GetActiveTaskList(); + var pTempl = pTaskMan.GetTaskTemplByID((uint)id); + var pEntry = pActiveLst.GetEntry((uint)id); + if (pTempl != null) { + int contribution = 0; + // �������׶ȵ�����ֻ�ڶ���������ʾ����ֵ + if (hasContributionAward) { + contribution = pTempl.m_pParent == null ? pTempl.m_Award_S.m_iWorldContribution : 0; + } else { // ����ֻ����ײ�������ʾ����ֵ + //not sure it is m_fixed data or not + //contribution = pTempl->m_pFirstChild == NULL ? -pTempl->m_iWorldContribution : 0; + contribution = pTempl.m_pFirstChild == null ? -pTempl.m_FixedData.m_iWorldContribution : 0; + } + + bool bCanContributionFinish = !hasContributionAward; + // ACString strTask = pTempl->GetName(); + string strTask = pTempl.GetDescription(); + // ������ʾһ���������� + if (topLevel) + { + int indexMark = hasContributionAward ? 11284 : 11285; + int indexColor = bCanContributionFinish ? 11287 : 11286; + AppendText(GetStringFromTable(indexColor)); + AppendText(GetStringFromTable(indexMark)); + AppendColorText(strTask, GetStringFromTable(indexColor)); + } + // ����ǽ������׶ȵ�������ȡʱ�䲻�ǵ��죬����ʾ + //Todo: this is for event quest. not implemented yet + // if (hasContributionAward && pEntry != null) { + // ulong ulCurTime = pTask.GetCurTime(); + // unsigned long ulTaskTime = pEntry->m_ulTaskTime; + // tm tmCur, tmTask; + // ulCurTime -= unsigned long(TaskInterface::GetTimeZoneBias() * 60); + // ulTaskTime -= unsigned long(TaskInterface::GetTimeZoneBias() * 60); + + // if ((long)(ulCurTime) < 0) + // ulCurTime = 0; + + // if ((long)(ulTaskTime) < 0) + // ulTaskTime = 0; + + // tmCur = *gmtime((time_t*)&ulCurTime); + // tmTask = *gmtime((time_t*)&ulTaskTime); + // if (!(tmCur.tm_year == tmTask.tm_year && tmCur.tm_yday == tmTask.tm_yday)) + // return; + // } + if (pTask.HasTask((uint)id)) { + FormatTaskTraceDesc((int)pTempl.m_ID, true, strIndentIn, false, ++m_iIndexForContribution, bCanContributionFinish, contribution); + } + var aEntries = pActiveLst.m_TaskEntries; + for (int j = 0; j < pActiveLst.m_uTaskCount; ++j) { + var CurEntry = aEntries[j]; + int taskID = CurEntry.m_ID; + if (CurEntry.m_ParentIndex != 0xff) { + var ParentEntry = aEntries[CurEntry.m_ParentIndex]; + if (ParentEntry.m_ID == id) + AddTaskString(taskID, hasContributionAward, strIndentIn + INDENTATION); + } + } + } + } + void AppendColorText(string strTask, string strColor) + { + DeleteColorStr(strTask); + string strText = strColor + strTask; + AppendText(strText); + AppendText("\n"); + } + void FormatTaskTraceDesc(int idTask, bool withName, string strIndentIn, bool requireActive = false, int index = 0, bool bCanContributionFinish = false, int contribution = 0) + { + int j; + + ATaskTemplMan pMan = EC_Game.GetTaskTemplateMan(); + elementdataman pDataMan = EC_Game.GetElementDataMan(); + CECTaskInterface pTask = GetHostPlayer().GetTaskInterface(); + CECGameUIMan pUIMan = GetGameUIMan(); + + bool bActiveTask = pTask.HasTask((uint)idTask); + if (requireActive && !bActiveTask) return; + + ATaskTempl pTemp = pMan.GetTaskTemplByID((uint)idTask); + if (pTemp != null) + { + Task_State_info tsi=default; + pTask.GetTaskStateInfo((uint)idTask, ref tsi, bActiveTask); + + // check if the task is in the reach site + float[] vMin = new float[3] {-6000.0f,-6000.0f,-6000.0f}; + float[] vMax = new float[3] {6000.0f,6000.0f,6000.0f}; + if(pTemp.m_FixedData.m_ulReachSiteCnt > 0 + && pTemp.is_in_zone(pTemp.m_FixedData.m_pReachSite[0].zvMin,pTemp.m_FixedData.m_pReachSite[0].zvMax,vMin) + && pTemp.is_in_zone(pTemp.m_FixedData.m_pReachSite[0].zvMin,pTemp.m_FixedData.m_pReachSite[0].zvMax,vMax)) + return; + + // append the name + if (withName) + { + AppendText(strIndentIn); + string strNum = index.ToString(); + strNum = string.Format("{0}", index); + string strName = pTemp.GetName(); + DeleteColorStr(strName); + strName = strNum + " " + strName; + TaskNameHoverCommand cmd = new TaskNameHoverCommand(m_Buffer, strName, idTask, tsi.m_ulErrCode != 0, bCanContributionFinish); + BindLinkCommand(m_pTxt_Desc.tmp, strName, cmd); + if (contribution != 0) { + int colorIndex = contribution > 0 ? 11288 : 11291; + strNum = string.Format(" {0} {1}", GetStringFromTable(colorIndex), contribution); + AppendText(strNum); + } + AppendText("\n"); + } + // init the indent + string strIndent = withName ? strIndentIn + INDENTATION : ""; + + // ����δ��ʱ��ʾ������NPC + int nDNPC = (int)pTemp.GetDeliverNPC(); + if (!bActiveTask && nDNPC > 0) + { + DATA_TYPE dt = DATA_TYPE.DT_INVALID; + var temp = pDataMan.get_data_ptr((uint)nDNPC, ID_SPACE.ID_SPACE_ESSENCE, ref dt); + if(temp == null && dt != DATA_TYPE.DT_NPC_ESSENCE) { + return; + } + var pNPC = (NPC_ESSENCE)temp; + if (dt == DATA_TYPE.DT_NPC_ESSENCE) + { + AppendText(strIndent); + AppendText(GetStringFromTable(9764)); + AppendCommand(pNPC.Name, nDNPC, idTask); + AppendText("\n"); + } + } + + // check whether can finish the task + int nANPC = (int)pTemp.GetAwardNPC(); + // �����������ͱȽ�����ʱ����Ҫ�����ﷵ�� + bool bSpecialAwardType = pTemp.GetAwardType_S() != (uint)TaskAwardType.enumTATNormal; + if(nANPC > 0 && pTask.CanFinishTask((uint)idTask) && !bSpecialAwardType) + { + DATA_TYPE DataType = DATA_TYPE.DT_INVALID; + var temp = pDataMan.get_data_ptr((uint)nDNPC, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if(temp == null && DataType != DATA_TYPE.DT_NPC_ESSENCE) { + return; + } + var pNPC = (NPC_ESSENCE)temp; + if (DataType == DATA_TYPE.DT_NPC_ESSENCE) + { + AppendText(strIndent); + AppendText(GetStringFromTable(9391)); + AppendCommand(pNPC.Name, nANPC, idTask); + AppendText("\n"); + return; + } + } + + // append global task character + for(int i = 0; i < (int)tsi.m_TaskCharArr._finish; i++) + { + string strPrefix = strIndent; + strPrefix += ""; + strPrefix += tsi.m_TaskCharArr._start + i; + strPrefix += "\n"; + AppendText(strPrefix); + } + + for( j = 0; j < TaskInterfaceConstants.MAX_ITEM_WANTED; j++ ) + { + uint itemid = tsi.m_ItemsWanted[j].m_ulItemId; + if( itemid <= 0 ) + break; + + uint gained = tsi.m_ItemsWanted[j].m_ulItemsGained; + uint toget = tsi.m_ItemsWanted[j].m_ulItemsToGet; + + EC_IvtrItem pItem = EC_IvtrItem.CreateItem((int)itemid, 0, 1); + if (pItem != null) + { + string strPrefix = strIndent; + if( gained < toget ) + strPrefix += COLOR_WHITE; + else + strPrefix += ""; + AppendText(strPrefix); + + // track the monster id which contains this item + uint monid = tsi.m_ItemsWanted[j].m_ulMonsterId; + + string strName; + if (pTemp.m_FixedData.m_enumMethod != (uint)TaskCompletionMethod.enumTMKillPlayer) + { + if(monid > 0) + { + AppendText(GetStringFromTable(9388)); + AppendCommand(pItem.GetName(), (int)monid, idTask); + strName = FormatFromTable(9389, gained, toget); + } + else + { + MINE_ESSENCE pMine = DlgTask.SearchTaskMine(idTask, out bool found); + if(found) + { + AppendText(GetStringFromTable(9388)); + AppendCommand(pItem.GetName(), (int)pMine.id, idTask); + strName = FormatFromTable(9389, gained, toget); + } + else + { + strName = FormatFromTable(248, pItem.GetName(), gained, toget); + } + } + } + else + { + AppendText(GetStringFromTable(9388)); + AppendText(pItem.GetName()); + strName = FormatFromTable(9389, gained, toget); + strName += GetKillPlayerRequirements(tsi,j); + } + + AppendText(strName); + } + } + + for (j = 0; j < TaskInterfaceConstants.MAX_MONSTER_WANTED; j++) + { + int monid = (int)tsi.m_MonsterWanted[j].m_ulMonsterId; + if (monid == 0) + break; + + int killed = (int)tsi.m_MonsterWanted[j].m_ulMonstersKilled; + int tokill = (int)tsi.m_MonsterWanted[j].m_ulMonstersToKill; + if(killed > 0 || tokill > 0 ) + { + DATA_TYPE DataType = DATA_TYPE.DT_INVALID; + var temp = pDataMan.get_data_ptr((uint)monid, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if(temp == null && DataType != DATA_TYPE.DT_MONSTER_ESSENCE) { + return; + } + var pMonster = (MONSTER_ESSENCE)temp; + string strPrefix = strIndent; + if(killed < tokill ) + strPrefix += COLOR_WHITE; + else + strPrefix += ""; + AppendText(strPrefix); + + string strName; + if( DataType == DATA_TYPE.DT_MONSTER_ESSENCE ) + { + // trace the monster + AppendText(GetStringFromTable(9386)); + AppendCommand(pMonster.Name, (int)pMonster.id, idTask); + strName = FormatFromTable(9387, killed, tokill); + } + else + { + strName = FormatFromTable(256, killed); + } + AppendText(strName); + } + } + for(int i = 0; i < TaskInterfaceConstants.MAX_PLAYER_WANTED; i++ ) + { + if (tsi.m_PlayerWanted[i].m_ulPlayersToKill == 0) + break; + if (tsi.m_ItemsWanted[i].m_ulItemId > 0) + { + continue; + } + + int killed = (int)tsi.m_PlayerWanted[j].m_ulPlayersKilled; + int tokill = (int)tsi.m_PlayerWanted[j].m_ulPlayersToKill; + string strPrefix = strIndent; + if(killed < tokill ) + strPrefix += COLOR_WHITE; + else + strPrefix += ""; + + AppendText(strPrefix); + AppendText(GetStringFromTable(7630)); + AppendText(GetKillPlayerRequirements(tsi,i)); + } + if( tsi.m_ulTimeLimit > 0 ) + { + int nSec = bActiveTask ? Mathf.Max(0, (int)tsi.m_ulTimeLimit - (int)tsi.m_ulTimePassed) : (int)tsi.m_ulTimeLimit; + + string strPrefix = strIndent; + strPrefix += DlgTask.FormatTime(nSec, GetStringFromTable(bActiveTask ? 246 : 245), (int)tsi.m_ulTimeLimit); + AppendText(strPrefix); + } + + if( tsi.m_ulWaitTime > 0 ) + { + int nSec = Mathf.Max(0, (int)tsi.m_ulWaitTime - (int)tsi.m_ulTimePassed); + + string strPrefix = strIndent + COLOR_WHITE; + strPrefix += DlgTask.FormatTime(nSec, GetStringFromTable(199), 0); + AppendText(strPrefix); + } + + if( tsi.m_ulNPCToProtect > 0 ) + { + AppendText(strIndent); + + DATA_TYPE DataType = DATA_TYPE.DT_INVALID; + var temp = pDataMan.get_data_ptr((uint)tsi.m_ulNPCToProtect, ID_SPACE.ID_SPACE_ESSENCE, ref DataType); + if(temp == null && DataType != DATA_TYPE.DT_MONSTER_ESSENCE) { + return; + } + var pMonster = (MONSTER_ESSENCE)temp; + if( DataType == DATA_TYPE.DT_MONSTER_ESSENCE ) + { + // trace the protected npc + AppendText(GetStringFromTable(9390)); + AppendCommand(pMonster.Name, (int)pMonster.id, idTask); + AppendText("\n"); + } + + // update protected time + int nSec = Mathf.Max(0, (int)tsi.m_ulProtectTime - (int)tsi.m_ulTimePassed); + string strTime = DlgTask.FormatTime(nSec, GetStringFromTable(259), (int)tsi.m_ulProtectTime); + AppendText(strTime); + } + + if(pTemp.m_FixedData.m_ulReachSiteCnt > 0) + { + AppendText(strIndent); + AppendText(GetStringFromTable(9392)); + AppendCommand((int)pTemp.m_FixedData.m_ulReachSiteId, pTemp.m_FixedData.m_pReachSite, (int)pTemp.m_FixedData.m_ulReachSiteCnt); + AppendText("\n"); + } + var pHost = GetHostPlayer(); + string strTemp = string.Empty; + if (pTemp.m_FixedData.m_ulReachLevel > 0) + { + AppendText(strIndent); + strTemp = FormatFromTable(9396, pHost.GetBasicProps().iLevel, pTemp.m_FixedData.m_ulReachLevel); + AppendText(strTemp); + AppendText("\n"); + } + if (pTemp.m_FixedData.m_ulReachRealmLevel > 0) + { + AppendText(strIndent); + strTemp = FormatFromTable(9397, + pUIMan.GetRealmName(pHost.GetRealmLevel()), pUIMan.GetRealmName((int)pTemp.m_FixedData.m_ulReachRealmLevel)); + AppendText(strTemp); + AppendText("\n"); + } + if (pTemp.m_FixedData.m_ulReachReincarnationCount > 0) + { + AppendText(strIndent); + strTemp = FormatFromTable(9398, pHost.GetReincarnationCount(), pTemp.m_FixedData.m_ulReachReincarnationCount); + AppendText(strTemp); + AppendText("\n"); + } + } + } + string GetKillPlayerRequirements(Task_State_info tsi,int iIndex) + { + //todo: implement this after pK is enabled + return string.Empty; + } + void KeepScrollBarPosition() + { + //Insert UI logic + } + void OnCommand_FinishTask(string szCommand) + { + //UI finish task logic go here + // PAUIOBJECT pObj = GetDlgItem(szCommand); + // if (pObj) { + // int idTask = pObj->GetData(); + // if (idTask) { + // const ATaskTempl* pTempl = GetGame()->GetTaskTemplateMan()->GetTaskTemplByID(idTask); + // if (pTempl) { + // CECHostPlayer* pHost = GetHostPlayer(); + // CECGameUIMan* pGameUI = GetGameUIMan(); + // CECTaskInterface* pTask = pHost->GetTaskInterface(); + // Task_State_info tsi; + // pTask->GetTaskStateInfo(idTask, &tsi); + // if (tsi.m_ulErrCode) + // { + // const wchar_t* szMsg = _task_err.GetWideString(tsi.m_ulErrCode); + + // if (szMsg) + // { + // ACString strText = szMsg; + // ACString strTemp; + // if (tsi.m_ulErrCode == TASK_AWARD_FAIL_LEVEL_CHECK) + // strTemp.Format(GetStringFromTable(7637), tsi.m_ulPremLevelMin); + // else strTemp = GetStringFromTable(807); + // strText += strTemp; + // strText += _AL("\r"); + // strText += COLOR_WHITE; + // pGameUI->MessageBox("", strText, MB_OK, A3DCOLORRGBA(255, 255, 255, 160)); + // return; + // } + // } + // if (pHost->GetWorldContribution() < pTempl->m_iWorldContribution) + // pGameUI->MessageBox("", pGameUI->GetStringFromTable(11282), MB_OK, A3DCOLORRGBA(255, 255, 255, 160)); + // else if (!pHost->HaveHealthStones() && + // pHost->GetWorldContributionSpend() + pTempl->m_iWorldContribution > TASK_WORLD_CONTRIBUTION_SPEND_PER_DAY) + // pGameUI->MessageBox("", pGameUI->GetStringFromTable(11283), MB_OK, A3DCOLORRGBA(255, 255, 255, 160)); + // else + // FinishTaskSpendingContribution(idTask); + // } + // } + // } + } + void OnEventDBClk_Title(/*WPARAM wParam, LPARAM lParam, AUIObject *pObj*/) + { + SwitchCollapse(); + } + void OnCommand_SwitchCollapse(bool value) + { + //SwitchCollapse(); + m_pCollapsedArea.SetActive(value); + } + void SwitchCollapse() + { + // UI Checkbox Switch logic go here + } + void OnCommand_UnTraceTask() + { + // UI UnTrace Task logic go here + } + void OnCommand_Chat() + { + // UI Chat logic go here + } + void OnCommand_Map() + { + // UI Map logic go here + } + + public void OnTaskNew(ulong idTask) + { + // TODO: implement this + } + } + ////////////////////////////////////////////////////////////////////////// + // TraceLinkCommandCommand + ////////////////////////////////////////////////////////////////////////// + public class TraceLinkCommand : MoveToLinkCommand + { + public StringRef m_Buffer = new StringRef(); + public TraceLinkCommand(StringRef buffer, int id, string name, int taskid) : base(id, name, taskid){ + m_Buffer = buffer; + } + public TraceLinkCommand(StringRef buffer, List targets, string name) : base(targets, name){ + m_Buffer = buffer; + } + public TraceLinkCommand(TraceLinkCommand rhs) : base(rhs){ + m_Buffer = rhs.m_Buffer; + } + public override LinkCommand Clone() + { + return new TraceLinkCommand(this); + } + public override void AppendText() + { + // do nothing here + m_Buffer.Value += this.GetLinkText(); + } + + + } + + +} diff --git a/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs.meta b/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs.meta new file mode 100644 index 0000000000..48f88d878c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/DlgTaskTrace.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bac01b5537b4341a7885fe2392d32eaa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs new file mode 100644 index 0000000000..05beb8577c --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; +public enum TaskTreeState +{ + Rto_Button1Active, + Rto_Button1Inactive, + Rto_Button2Active, + Rto_Button2Inactive, + Rto_Button3Active, + Rto_Button3Inactive +} +[CreateAssetMenu(fileName = "TaskTreeStateUIResource", menuName = "Task/TaskTreeStateUIResource")] +public class TaskTreeStateMap: ScriptableObject +{ + public List resources; + public TaskTreeStateUIResource GetTaskTreeStateUIResource(int state) + { + return resources.Find(resource => (int)resource.state == state); + } +} +[Serializable] +public class TaskTreeStateUIResource +{ + public TaskTreeState state; + public Sprite Rto_ButtonSprite; + public Sprite BackgroundSprite; + public Color TextColor; +} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs.meta b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs.meta new file mode 100644 index 0000000000..a49e0f69b4 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeStateMap.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 757291f3b49ff4f309f9a726204f6260 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs index fca186c3c6..2821aa610b 100644 --- a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeView.cs @@ -6,11 +6,14 @@ namespace BrewMonster.Scripts.Task.UI { public class TaskTreeView : MonoBehaviour, IRefreshLayout { - [SerializeField] private TaskTreeViewItem m_pTreeViewItemPrefab; + [SerializeField] private TaskTreeViewItem m_pTreeItemPrefab_Deep1; + [SerializeField] private TaskTreeViewItem m_pTreeItemPrefab_Deep2; + [SerializeField] private TaskTreeViewItem m_pTreeItemPrefab_Deep3; [Header("DEBUG")] [SerializeField] private TaskTreeViewItem _currentSelectedItem = null; [SerializeField] private TaskTreeViewItem[] m_aTreeViewItems; + private void Start() { @@ -27,6 +30,8 @@ namespace BrewMonster.Scripts.Task.UI public uint GetItemData(TaskTreeViewItem item) { + if (item == null) + return 0; return item.GetItemData(); } @@ -51,8 +56,22 @@ namespace BrewMonster.Scripts.Task.UI public TaskTreeViewItem InsertItem(string text, TaskTreeViewItem pParent, TaskTreeViewItem pAfter) { + //caculate treelevel first + int treeLevel = pParent != null ? pParent.GetTreeLevel() + 1 : 0; // Create a new item GameObject and component - TaskTreeViewItem pItem = Instantiate(m_pTreeViewItemPrefab); + TaskTreeViewItem pItem = null; + switch (treeLevel) + { + case 0: + pItem = Instantiate(m_pTreeItemPrefab_Deep1); + break; + case 1: + pItem = Instantiate(m_pTreeItemPrefab_Deep2); + break; + default: + pItem = Instantiate(m_pTreeItemPrefab_Deep3); + break; + } if(pParent != null) { pParent.SetLastItem(false); @@ -81,7 +100,7 @@ namespace BrewMonster.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); + pItem.SetTreeLevel(treeLevel); // Refresh local cache of items m_aTreeViewItems = GetComponentsInChildren(true); @@ -146,6 +165,7 @@ namespace BrewMonster.Scripts.Task.UI void SetSelectedItem(uint idItem) { _currentSelectedItem = GetItemByData(idItem); + Debug.Log($"[TaskTreeView] SetSelectedItem: {idItem}"); } public void RefreshLayout() diff --git a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs index e34184a6ee..a7b6891861 100644 --- a/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs +++ b/Assets/PerfectWorld/Scripts/Task/UI/TaskTreeViewItem.cs @@ -14,7 +14,9 @@ namespace BrewMonster.Scripts.Task.UI [SerializeField] private Toggle _expandToggle; [SerializeField] private TextOutlet _expandText; [SerializeField] private LayoutElement _space; - + [SerializeField] private Image _expandBG; + [SerializeField] private Sprite ExpandBGActive; + [SerializeField] private Sprite ExpandBGInactive; [Header("DEBUG")] [SerializeField] private uint m_uItemData; [SerializeField] private int _treeLevel; @@ -109,7 +111,7 @@ namespace BrewMonster.Scripts.Task.UI if(children[i].GetTreeLevel() == _treeLevel + 1) children[i].gameObject.SetActive(expand); } - + _expandBG.sprite = expand ? ExpandBGActive : ExpandBGInactive; //_expandButton.gameObject.SetActive(!expand); //_collapseButton.gameObject.SetActive(expand); @@ -148,6 +150,7 @@ namespace BrewMonster.Scripts.Task.UI { OnClick.Invoke(m_uItemData); EventBus.Publish(new TaskItemClickEvent() { Data = m_uItemData }); + Debug.Log($"[TaskTreeViewItem] OnBtnClick: {m_uItemData}"); } void OnExpandBtnClicked() diff --git a/Assets/PerfectWorld/Scripts/UI/AUIManager.cs b/Assets/PerfectWorld/Scripts/UI/AUIManager.cs index d3b94653b2..b92c2624bf 100644 --- a/Assets/PerfectWorld/Scripts/UI/AUIManager.cs +++ b/Assets/PerfectWorld/Scripts/UI/AUIManager.cs @@ -42,7 +42,7 @@ namespace BrewMonster.UI ImportStringTable("Assets/Addressable/ingame.txt"); ImportAuiDialogStringTable("Assets/Addressable/msgbox.txt"); } - + public string Translate(ushort[] str) { if (str == null || str.Length == 0) @@ -318,7 +318,7 @@ namespace BrewMonster.UI } else { - var prefab = m_dialogResouce.GetPrefabDialog(pszName); + var prefab = m_dialogResouce.GetPrefabDialog(pszName); if(prefab != null) { var instance = GameObject.Instantiate(prefab, m_canvas.transform); @@ -336,7 +336,6 @@ namespace BrewMonster.UI } } - return null; } } diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs index baff19441b..12ffa8c94a 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/AUIDialog.cs @@ -13,13 +13,14 @@ namespace BrewMonster.UI protected uint m_dwData; protected object m_pvData; protected AUIManager m_pAUIManager = null; - string m_szName; + protected string m_szName; private bool m_bUpdateRenderTarget = false; public virtual void Show(bool value) { gameObject.SetActive(value); + m_bShow = value; OnShowDialogue(); } public string GetName() @@ -91,6 +92,182 @@ namespace BrewMonster.UI return str; } + /// + /// Format a string table entry that may still use printf-style placeholders (e.g. "%d", "%s"). + /// This converts printf-style placeholders into C# string.Format placeholders ("{0}", "{1}", ...). + /// + protected string FormatFromTable(int idString, params object[] args) + { + return FormatPrintf(GetStringFromTable(idString), args); + } + + /// + /// Convert/format printf-style strings (e.g. "ID:%d Name:%s") with C# args. + /// Supports common specifiers and keeps "%%" as a literal percent. + /// + protected static string FormatPrintf(string formatStr, params object[] args) + { + if (string.IsNullOrEmpty(formatStr)) + return formatStr; + + var sb = new System.Text.StringBuilder(); + int paramIndex = 0; + + for (int i = 0; i < formatStr.Length; i++) + { + if (formatStr[i] == '%' && i + 1 < formatStr.Length) + { + // "%%" -> literal '%' + if (formatStr[i + 1] == '%') + { + sb.Append('%'); + i++; + continue; + } + + int startPos = i; + int j = i + 1; + + // Parse flags (skip; best-effort) + bool hasMinus = false; + bool hasZero = false; + bool hasPlus = false; + while (j < formatStr.Length) + { + char c = formatStr[j]; + if (c == '-') + { + hasMinus = true; + j++; + } + else if (c == '0') + { + hasZero = true; + j++; + } + else if (c == '+') + { + hasPlus = true; + j++; + } + else + { + break; + } + } + + // Parse width + int width = 0; + int widthStart = j; + while (j < formatStr.Length && char.IsDigit(formatStr[j])) + j++; + if (j > widthStart) + int.TryParse(formatStr.Substring(widthStart, j - widthStart), out width); + + // Parse precision (e.g. ".2") + int precision = -1; + if (j < formatStr.Length && formatStr[j] == '.') + { + j++; + int precStart = j; + while (j < formatStr.Length && char.IsDigit(formatStr[j])) + j++; + if (j > precStart) + int.TryParse(formatStr.Substring(precStart, j - precStart), out precision); + } + + // Final type char + if (j >= formatStr.Length) + { + sb.Append('%'); + continue; + } + + char typeChar = formatStr[j]; + bool recognized = + typeChar == 'd' || typeChar == 'i' || typeChar == 'u' || + typeChar == 's' || typeChar == 'c' || + typeChar == 'f' || typeChar == 'F' || + typeChar == 'e' || typeChar == 'E' || + typeChar == 'g' || typeChar == 'G'; + + if (!recognized) + { + // Not a recognized printf placeholder: keep original char(s) + sb.Append(formatStr[startPos]); + continue; + } + + // Build C# placeholder, preserving common width/precision behavior (best-effort). + string csharpFormatSpec = string.Empty; + + // Alignment for width: left/right + if (width > 0 && (typeChar == 'd' || typeChar == 'i' || typeChar == 'u' || typeChar == 's' || typeChar == 'c')) + { + // C# alignment: {0,10} right-aligned; {0,-10} left-aligned + int align = hasMinus ? -width : width; + csharpFormatSpec = $",{align}"; + } + + // Precision for float: %.2f -> {0:F2} + if (precision >= 0 && (typeChar == 'f' || typeChar == 'F' || typeChar == 'e' || typeChar == 'E' || typeChar == 'g' || typeChar == 'G')) + { + string floatFmt = + (typeChar == 'e' || typeChar == 'E') ? $"E{precision}" : + (typeChar == 'g' || typeChar == 'G') ? $"G{precision}" : + $"F{precision}"; + + if (csharpFormatSpec.StartsWith(",")) + csharpFormatSpec += $":{floatFmt}"; + else + csharpFormatSpec = $":{floatFmt}"; + } + + // %+d -> show sign (best-effort) + if (hasPlus && (typeChar == 'd' || typeChar == 'i') && string.IsNullOrEmpty(csharpFormatSpec)) + { + csharpFormatSpec = ":+0;-0"; + } + + // %0Nd -> zero-padded integers (best-effort) + if (hasZero && width > 0 && (typeChar == 'd' || typeChar == 'i' || typeChar == 'u')) + { + if (!csharpFormatSpec.StartsWith(",")) + csharpFormatSpec = $":D{width}"; + } + + if (!string.IsNullOrEmpty(csharpFormatSpec)) + { + if (csharpFormatSpec.StartsWith(",") || csharpFormatSpec.StartsWith(":")) + sb.Append($"{{{paramIndex}{csharpFormatSpec}}}"); + else + sb.Append($"{{{paramIndex}:{csharpFormatSpec}}}"); + } + else + { + sb.Append($"{{{paramIndex}}}"); + } + + paramIndex++; + i = j; // skip the full specifier + } + else + { + sb.Append(formatStr[i]); + } + } + + try + { + return string.Format(sb.ToString(), args); + } + catch (System.FormatException) + { + Debug.LogWarning($"[AUIDialog] FormatPrintf failed for string: {formatStr}, expected {paramIndex} args, got {args?.Length ?? 0}"); + return formatStr; + } + } + public AUIManager GetAUIManager() { return m_pAUIManager; @@ -139,6 +316,15 @@ namespace BrewMonster.UI { return false; } + public virtual void Release() + { + m_StringTable.Clear(); + m_strDataName = ""; + m_strDataPtrName = ""; + m_dwData = 0; + m_pvData = null; + m_szName = ""; + } /// Override in dialogs that support attribute-point reset (e.g. DlgCharacter). No-op by default. public virtual void ResetPoints() { } diff --git a/Assets/PerfectWorld/Scripts/UI/EC_UIHelper.cs b/Assets/PerfectWorld/Scripts/UI/EC_UIHelper.cs index 406dae5c4e..a582bc2ada 100644 --- a/Assets/PerfectWorld/Scripts/UI/EC_UIHelper.cs +++ b/Assets/PerfectWorld/Scripts/UI/EC_UIHelper.cs @@ -1,9 +1,10 @@ +using System.Collections.Generic; using BrewMonster.Network; using BrewMonster.Managers; using BrewMonster.Scripts.Task; using BrewMonster.Scripts; using CSNetwork.GPDataType; - +using CSNetwork; namespace BrewMonster.Scripts.UI { public class CECUIHelper @@ -89,7 +90,7 @@ namespace BrewMonster.Scripts.UI // } // return ret; } - + // Follow coord like C++ CECUIHelper::FollowCoord(enumEICoord, taskId) // 像C++的CECUIHelper::FollowCoord(enumEICoord, taskId)一样跟随坐标 public static bool FollowCoord(int id, int taskId) @@ -241,5 +242,83 @@ namespace BrewMonster.Scripts.UI UnityEngine.Debug.Log($"[CECUIHelper] FollowCoord: Started auto-move to ({vPos.x},{vPos.y},{vPos.z}) for id={id}, taskId={taskId}"); return true; } + + // Follow coord using target coordinate list and trace name + // 使用目标坐标列表和追踪名称跟随坐标 + public static bool FollowCoord(List m_TargetCoord, string m_strTraceName) + { + // Validate inputs + // 验证输入 + if (m_TargetCoord == null || m_TargetCoord.Count == 0) + { + UnityEngine.Debug.LogWarning($"[CECUIHelper] FollowCoord: m_TargetCoord is null or empty, traceName={m_strTraceName} (will not move)"); + return false; + } + + // Use the first coordinate from the list + // 使用列表中的第一个坐标 + OBJECT_COORD targetCoord = m_TargetCoord[0]; + A3DVECTOR3 vPos = targetCoord.vPos; + + // Log map information if available (for debugging) + // 如果可用,记录地图信息(用于调试) + if (!string.IsNullOrEmpty(targetCoord.strMap)) + { + UnityEngine.Debug.Log($"[CECUIHelper] FollowCoord: Target map='{targetCoord.strMap}', traceName={m_strTraceName}"); + } + + // Start auto-move work to destination (this is what actually moves the player in this project) + // 启动自动移动工作(这才是本项目中真正驱动角色移动的系统) + CECHostPlayer host = EC_Game.GetGameRun()?.GetHostPlayer(); + if (host == null) + { + UnityEngine.Debug.LogError($"[CECUIHelper] FollowCoord: Host player is null, traceName={m_strTraceName}"); + return false; + } + + CECHPWorkMan wm = host.GetWorkMan(); + if (wm == null) + { + UnityEngine.Debug.LogError($"[CECUIHelper] FollowCoord: WorkMan is null, traceName={m_strTraceName}"); + return false; + } + + CECHPWorkMove work = wm.CreateWork(CECHPWork.Host_work_ID.WORK_MOVETOPOS) as CECHPWorkMove; + if (work == null) + { + UnityEngine.Debug.LogError($"[CECUIHelper] FollowCoord: Failed to create WORK_MOVETOPOS, traceName={m_strTraceName}"); + return false; + } + + // Prefer AutoPF intelligent route (original PW behavior) instead of naive straight-line. + // 优先使用 AutoPF 智能寻路(原版 PW 行为),而不是简单直线移动。 + work.SetDestination(CECHPWorkMove.DestTypes.DEST_AUTOPF, vPos); + + // If trace name is provided and there are multiple coordinates, we might want to trace through them + // 如果提供了追踪名称且有多个坐标,我们可能想要追踪它们 + // Note: SetTaskNPCInfo might not be applicable here since we don't have taskId/id + // 注意:SetTaskNPCInfo 可能不适用于此,因为我们没有 taskId/id + + wm.StartWork_p2(work); + + UnityEngine.Debug.Log($"[CECUIHelper] FollowCoord: Started auto-move to ({vPos.x},{vPos.y},{vPos.z}) map={targetCoord.strMap}, traceName={m_strTraceName}, coordCount={m_TargetCoord.Count}"); + return true; + } + + public static void AutoMoveStartComplex(A3DVECTOR3 dst, int targetId = 0, int taskId = 0) + { + UnityEngine.Debug.Log($"[CECUIHelper] AutoMoveStartComplex: dst={dst}, targetId={targetId}, taskId={taskId}"); + // TODO: Implement this method properly + // if( CECAutoPolicy.Instance.IsAutoPolicyEnabled() ) + // return; + ECMSG msg = new ECMSG(); + msg.iManager = 0; + msg.iSubID = 0; + msg.dwParam1 = (uint)dst.x; + msg.dwParam2 = (uint)dst.y; + msg.dwParam3 = (uint)dst.z; + msg.dwParam4 = new MsgDataAutoMove(0, targetId, taskId); + EC_ManMessage.PostMessage(0, 0, 0, msg); + } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs index adb2aec439..2b303a611e 100644 --- a/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs +++ b/Assets/PerfectWorld/Scripts/UI/GamePlay/EC_GameUIMan.cs @@ -89,14 +89,14 @@ namespace BrewMonster.UI public bool UpdateTask(uint idTask, int reason) { - // TODO: - // CDlgTaskTrace* pDlg = dynamic_cast(GetDialog("Win_QuestMinion")); - // if (pDlg) { - // pDlg->SetBtnUnTraceY(-1, 0); - // pDlg->UpdateContributionTask(); - // if (reason == TASK_SVR_NOTIFY_NEW) - // pDlg->OnTaskNew(idTask); - // } + Debug.Log($"[EC_GameUIMan] UpdateTask: idTask={idTask}, reason={reason}"); + DlgTaskTrace pDlg = GetDialog("Win_QuestMinion").GetComponent(); + if (pDlg) { + //pDlg->SetBtnUnTraceY(-1, 0); + pDlg.UpdateContributionTask(); + if (reason == TaskTemplConstants.TASK_SVR_NOTIFY_NEW) + pDlg.OnTaskNew(idTask); + } // TODO // ���´���������� @@ -153,6 +153,16 @@ namespace BrewMonster.UI { pImgPic.SetImage(m_IconMap[(byte)iCONS_SKILL].Item2.FirstOrDefault(s => s.name == nameImage)); } + public string GetRealmName(int realmLevel) + { + string strRealm = string.Empty; + if (realmLevel > 0){ + int layer = CECHostPlayer.GetRealmLayer(realmLevel); + int subLevel = CECHostPlayer.GetRealmSubLevel(realmLevel); + strRealm = string.Format(GetStringFromTable(11100), GetStringFromTable(11100+layer), GetStringFromTable(11120+subLevel)); + } + return strRealm; + } } public enum EC_GAMEUI_ICONS : byte diff --git a/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs b/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs new file mode 100644 index 0000000000..899e4de97a --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs @@ -0,0 +1,21 @@ +using UnityEngine; +using UnityEngine.UI; +public class TwoStateToggle : MonoBehaviour + { + [SerializeField] Toggle toggle; + [SerializeField] Transform HideStateObject; + [SerializeField] Transform ShowStateObject; + protected void Awake() + { + toggle.onValueChanged.AddListener(SetState); + } + protected void OnDestroy() + { + toggle.onValueChanged.RemoveAllListeners(); + } + public void SetState(bool state) + { + HideStateObject.gameObject.SetActive(!state); + ShowStateObject.gameObject.SetActive(state); + } + } diff --git a/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs.meta b/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs.meta new file mode 100644 index 0000000000..e71b6855df --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/General/TwoStateToggle.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 35157c775228541e3ba4a1cf99c8cde0 \ No newline at end of file diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 157392ba06..f6acc459b6 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -3,7 +3,6 @@ using BrewMonster.Assets.PerfectWorld.Scripts.Players; using BrewMonster.Managers; using BrewMonster.Network; using BrewMonster.PerfectWorld.Scripts.Vfx; -using BrewMonster.PerfectWorld.Scripts.Vfx; using BrewMonster.Scripts; using BrewMonster.Scripts.Managers; using BrewMonster.Scripts.Skills; @@ -28,7 +27,7 @@ using static BrewMonster.Scripts.Managers.EC_Inventory; using cmd_select_target = CSNetwork.GPDataType.cmd_select_target; using Host_work_ID = BrewMonster.Scripts.CECHPWork.Host_work_ID; using Trace_reason = BrewMonster.CECHPWorkTrace.Trace_reason; - +using ObjectCoords = System.Collections.Generic.List; namespace BrewMonster { public partial class CECHostPlayer : CECPlayer @@ -88,6 +87,8 @@ namespace BrewMonster List m_aWayPoints = new List(); // Active way points bool m_bIsInKingService = false; // ÊÇ·ñÕýÔÚ½øÐйúÍõ·þÎñ²Ù×÷ CECActionSwitcherBase m_pActionSwitcher; + private int m_iWorldContribution; + private int m_iWorldContributionSpend; private bool m_bSpellDSkill; private CECSkill m_pCurSkill; private CECSkill m_pTargetItemSkill; // Target item skill @@ -221,6 +222,8 @@ namespace BrewMonster } // Get navigate player // 获取导航玩家 + public int GetWorldContribution() { return m_iWorldContribution; } + public int GetWorldContributionSpend() { return m_iWorldContributionSpend; } private CECHostNavigatePlayer m_pNavigatePlayer = null; public CECHostNavigatePlayer GetNavigatePlayer() { @@ -7069,6 +7072,94 @@ namespace BrewMonster { return m_pPetCorral; } + + // Get key object(NPC..) coordinates + public A3DVECTOR3 GetObjectCoordinates(int idTarget,ref ObjectCoords TargetCoord, ref bool bInTable) + { + if(TargetCoord == null) + { + TargetCoord = new ObjectCoords(); + } + TargetCoord.Clear(); + + A3DVECTOR3 vDestPos = new A3DVECTOR3(0, 0, 0); + + bInTable = false; + // Get object coordinates from CECGame::m_CoordTab + string szText = idTarget.ToString(); + List tempCoord = new List(); + int iCount = EC_Game.GetObjectCoord(szText, ref tempCoord); + if(iCount == 0) + { + return vDestPos; + } + + float fMinDist = 99999999.0f; + + // Get Current map name, such as 'a32' etc. + int idInstance = CECGameRun.Instance.GetWorld().GetInstanceID(); + CECInstance pInstance = CECGameRun.Instance.GetInstance(idInstance); + string strCurMap = pInstance.GetPath(); + // �ȼ��ͬһ��ͼ���Ƿ���Ҫ���ҵ���Ʒ + bool bHasObjectInCurrentInstance = tempCoord.Any(coord => coord.strMap == strCurMap); + for(int i=0;i instCoord = new List(); + int iCount2 = EC_Game.GetObjectCoord(objCoord.strMap, ref instCoord); + for (int j = 0; j < iCount2; ++j) + { + if (instCoord[j].strMap == strCurMap) + { + TargetCoord.Add(instCoord[j]); + + // Check if this is the nearest target + float tempDist = (instCoord[i].vPos - GetPos()).Magnitude(); + if(tempDist < fMinDist) + { + fMinDist = tempDist; + bInTable = true; + vDestPos = instCoord[j].vPos; + } + } + } + } + } + + return vDestPos; + } + public int GetRealmLayer() {return m_RealmLevel / 100; } + public int GetRealmSubLevel(){ return m_RealmLevel % 100; } + public static int GetRealmLayer(int realmLevel){return realmLevel > 0 ? (realmLevel + 9) / 10 : 0;} + public static int GetRealmSubLevel(int realmLevel){return realmLevel > 0 ? (realmLevel % 10 > 0 ? realmLevel % 10 : 10) : 0;} + public bool HaveHealthStones() + { + var pPack = GetPack(); + var items = new int[] {36764, 36765, 36766, 36767}; + for (int i = 0; i < items.Length; ++ i) { + if (pPack.FindItem(items[i]) >= 0) + return true; + } + return false; + } public bool UseItemInPack(int iPack, int iSlot, bool showMsg = true) { @@ -7599,3 +7690,4 @@ namespace BrewMonster //private bool ISMATTERID(int id) => ((id) & 0xC0000000) == 0xC0000000; } } +