From 2151631c59c6b78dd8f6fb2fba0c5386e327a640 Mon Sep 17 00:00:00 2001 From: YiHan0621 <2857295085@qq.com> Date: Thu, 11 Sep 2025 15:22:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E6=8C=89=E9=92=AEUI?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E3=80=81=E4=BB=BB=E5=8A=A1=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E4=BF=AE=E5=A4=8D=E3=80=81=E5=8D=A1=E7=89=8C?= =?UTF-8?q?=E7=A2=8E=E7=89=87=E4=B8=8E=E9=92=BB=E7=9F=B3=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/TcgEngine/Scenes/Menu/Menu.unity | 722 ++++++------------ Assets/TcgEngine/Scripts/Api/ApiClient.cs | 1 + Assets/TcgEngine/Scripts/Api/UserData.cs | 3 + .../GameClient/GameClientTaskIntegration.cs | 49 +- .../Scripts/GameLogic/TaskManager.cs | 12 +- .../TcgEngine/Scripts/Menu/CollectionPanel.cs | 8 +- Assets/TcgEngine/Scripts/Menu/MainMenu.cs | 4 +- Assets/TcgEngine/Scripts/Tasks/TaskPanel.cs | 4 + 8 files changed, 285 insertions(+), 518 deletions(-) diff --git a/Assets/TcgEngine/Scenes/Menu/Menu.unity b/Assets/TcgEngine/Scenes/Menu/Menu.unity index aa5cd8c..6b769c9 100644 --- a/Assets/TcgEngine/Scenes/Menu/Menu.unity +++ b/Assets/TcgEngine/Scenes/Menu/Menu.unity @@ -1770,86 +1770,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 86364888} m_CullTransparentMesh: 0 ---- !u!1 &91156144 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 91156145} - - component: {fileID: 91156147} - - component: {fileID: 91156146} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &91156145 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 91156144} - 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: 2104851998} - m_RootOrder: 1 - 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.000022888} - m_SizeDelta: {x: 240, y: 70.00004} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &91156146 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 91156144} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: - m_Font: {fileID: 12800000, guid: c56d3a307af0c8d48ae7d1adb958c922, type: 3} - m_FontSize: 26 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 2 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "\u6392\u884C\u699C" ---- !u!222 &91156147 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 91156144} - m_CullTransparentMesh: 0 --- !u!1 &98622963 GameObject: m_ObjectHideFlags: 0 @@ -2295,6 +2215,44 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 117996126} m_CullTransparentMesh: 0 +--- !u!1 &123361291 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 123361292} + m_Layer: 5 + m_Name: Fragments + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &123361292 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 123361291} + 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: 790716646} + - {fileID: 2049156825} + m_Father: {fileID: 2025105115} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -213.16003, y: 0} + m_SizeDelta: {x: 426.32, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &123468627 GameObject: m_ObjectHideFlags: 0 @@ -4678,9 +4636,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.2, y: 1.2, z: 1.2} m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 1172104344} - - {fileID: 746003924} + m_Children: [] m_Father: {fileID: 1674082197} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -4916,9 +4872,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1.2, y: 1.2, z: 1.2} m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 415552495} - - {fileID: 1325504742} + m_Children: [] m_Father: {fileID: 1674082197} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -6169,82 +6123,6 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 410395547} m_PrefabAsset: {fileID: 0} ---- !u!1 &415552494 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 415552495} - - component: {fileID: 415552497} - - component: {fileID: 415552496} - m_Layer: 5 - m_Name: select - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &415552495 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415552494} - 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: 332490980} - m_RootOrder: 0 - 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 &415552496 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415552494} - 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: a90c9f31aa6b7294c9e147225e5a1482, 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!222 &415552497 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 415552494} - m_CullTransparentMesh: 0 --- !u!1001 &416866214 PrefabInstance: m_ObjectHideFlags: 0 @@ -12162,86 +12040,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 745803165} m_CullTransparentMesh: 0 ---- !u!1 &746003923 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 746003924} - - component: {fileID: 746003926} - - component: {fileID: 746003925} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &746003924 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 746003923} - 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: 302193137} - m_RootOrder: 1 - 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.000022888} - m_SizeDelta: {x: 200, y: 70.00004} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &746003925 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 746003923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: - m_Font: {fileID: 12800000, guid: c56d3a307af0c8d48ae7d1adb958c922, type: 3} - m_FontSize: 30 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 3 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "\u6536\u85CF" ---- !u!222 &746003926 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 746003923} - m_CullTransparentMesh: 0 --- !u!1 &759723065 GameObject: m_ObjectHideFlags: 0 @@ -12699,6 +12497,86 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 784327125} m_CullTransparentMesh: 1 +--- !u!1 &790716645 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 790716646} + - component: {fileID: 790716648} + - component: {fileID: 790716647} + m_Layer: 5 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &790716646 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790716645} + 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: 123361292} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 80, y: 0} + m_SizeDelta: {x: 160, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &790716647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790716645} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u788E\u7247" +--- !u!222 &790716648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790716645} + m_CullTransparentMesh: 1 --- !u!1 &800912207 GameObject: m_ObjectHideFlags: 0 @@ -20140,82 +20018,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1166984946} m_CullTransparentMesh: 1 ---- !u!1 &1172104343 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1172104344} - - component: {fileID: 1172104346} - - component: {fileID: 1172104345} - m_Layer: 5 - m_Name: select - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1172104344 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1172104343} - 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: 302193137} - m_RootOrder: 0 - 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 &1172104345 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1172104343} - 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: a90c9f31aa6b7294c9e147225e5a1482, 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!222 &1172104346 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1172104343} - m_CullTransparentMesh: 0 --- !u!1 &1185452541 GameObject: m_ObjectHideFlags: 0 @@ -22652,86 +22454,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1322184455} m_CullTransparentMesh: 0 ---- !u!1 &1325504741 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1325504742} - - component: {fileID: 1325504744} - - component: {fileID: 1325504743} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1325504742 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1325504741} - 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: 332490980} - m_RootOrder: 1 - 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.000022888} - m_SizeDelta: {x: 200, y: 70.00004} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1325504743 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1325504741} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: - m_Font: {fileID: 12800000, guid: c56d3a307af0c8d48ae7d1adb958c922, type: 3} - m_FontSize: 30 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 3 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "\u5361\u5305" ---- !u!222 &1325504744 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1325504741} - m_CullTransparentMesh: 0 --- !u!1 &1334454748 GameObject: m_ObjectHideFlags: 0 @@ -27048,82 +26770,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1583195642} m_CullTransparentMesh: 0 ---- !u!1 &1584732046 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1584732047} - - component: {fileID: 1584732049} - - component: {fileID: 1584732048} - m_Layer: 5 - m_Name: select - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1584732047 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1584732046} - 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: 2104851998} - m_RootOrder: 0 - 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 &1584732048 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1584732046} - 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: a90c9f31aa6b7294c9e147225e5a1482, 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!222 &1584732049 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1584732046} - m_CullTransparentMesh: 0 --- !u!1 &1590908626 GameObject: m_ObjectHideFlags: 0 @@ -32773,6 +32419,43 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2008493481} m_CullTransparentMesh: 0 +--- !u!1 &2025105114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2025105115} + m_Layer: 5 + m_Name: Top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2025105115 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2025105114} + 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: 123361292} + m_Father: {fileID: 396921782448154706} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -50} + m_SizeDelta: {x: 1920, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2030138889 GameObject: m_ObjectHideFlags: 0 @@ -33085,6 +32768,86 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2042187451} m_CullTransparentMesh: 1 +--- !u!1 &2049156824 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2049156825} + - component: {fileID: 2049156827} + - component: {fileID: 2049156826} + m_Layer: 5 + m_Name: SumText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2049156825 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2049156824} + 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: 123361292} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -131.5, y: 0} + m_SizeDelta: {x: 263, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2049156826 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2049156824} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 36 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 9999999 +--- !u!222 &2049156827 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2049156824} + m_CullTransparentMesh: 1 --- !u!1001 &2055589636 PrefabInstance: m_ObjectHideFlags: 0 @@ -33577,6 +33340,7 @@ MonoBehaviour: ambience: {fileID: 0} username_txt: {fileID: 375899143} credits_txt: {fileID: 1317959218} + crystalText: {fileID: 1000896440} avatar: {fileID: 1120415714} loader: {fileID: 295344790} level_text: {fileID: 217392228} @@ -33782,16 +33546,14 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1584732047} - - {fileID: 91156145} + m_Children: [] m_Father: {fileID: 1674082197} m_RootOrder: 3 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: 320, y: 140.31} + m_SizeDelta: {x: 160, y: 160} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2104851999 MonoBehaviour: @@ -33897,7 +33659,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: a54487cc8c7face498ff70166efe2e30, type: 3} + m_Sprite: {fileID: 21300000, guid: 7b08e38b67a99d041856ff178ebd6758, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -36843,6 +36605,7 @@ RectTransform: - {fileID: 396921783543944415} - {fileID: 396921782080935829} - {fileID: 1457537700} + - {fileID: 2025105115} m_Father: {fileID: 581826003} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -36910,6 +36673,7 @@ MonoBehaviour: - {fileID: 1334454751} - {fileID: 149393134} - {fileID: 644190903} + cardFragmentsText: {fileID: 2049156826} --- !u!225 &396921782448154716 CanvasGroup: m_ObjectHideFlags: 0 diff --git a/Assets/TcgEngine/Scripts/Api/ApiClient.cs b/Assets/TcgEngine/Scripts/Api/ApiClient.cs index 60ef944..44a5aca 100644 --- a/Assets/TcgEngine/Scripts/Api/ApiClient.cs +++ b/Assets/TcgEngine/Scripts/Api/ApiClient.cs @@ -241,6 +241,7 @@ namespace TcgEngine if (res.success) { udata = ApiTool.JsonToObject(res.data); + Debug.Log($"获取玩家数据:{res.data}"); } return udata; diff --git a/Assets/TcgEngine/Scripts/Api/UserData.cs b/Assets/TcgEngine/Scripts/Api/UserData.cs index b39d410..1871890 100644 --- a/Assets/TcgEngine/Scripts/Api/UserData.cs +++ b/Assets/TcgEngine/Scripts/Api/UserData.cs @@ -26,10 +26,12 @@ namespace TcgEngine public int coins; public int xp; public int elo; + public int cardfragments; public int matches; public int victories; public int defeats; + public int crystal; public UserCardData[] cards; public UserCardData[] packs; @@ -51,6 +53,7 @@ namespace TcgEngine permission_level = 1; coins = 10000; elo = 1000; + cardfragments = 1000;// 碎片 } public int GetLevel() diff --git a/Assets/TcgEngine/Scripts/GameClient/GameClientTaskIntegration.cs b/Assets/TcgEngine/Scripts/GameClient/GameClientTaskIntegration.cs index 818eb77..5aac36c 100644 --- a/Assets/TcgEngine/Scripts/GameClient/GameClientTaskIntegration.cs +++ b/Assets/TcgEngine/Scripts/GameClient/GameClientTaskIntegration.cs @@ -23,42 +23,36 @@ namespace TcgEngine.Client private GameClient client; private TaskPanel taskPanel; - - private void Start() - { - // 在游戏客户端启动时初始化任务系统 - client = FindFirstObjectByType(); - client = GameClient.Get(); - if (client != null) - { - // 玩家连接到游戏服务器时触发任务检查 - client.onConnectServer += OnConnectToServer; - } - else - { - Debug.LogError($"---{client}为空----"); - } - if (TaskManager.Instance != null) - { - TaskManager.Instance.refreshTaskUI += OnRefreshTaskPanel; - TaskManager.Instance.ResetUIPanel(); - } - - // 找 UI 面板 + private void Awake() + { taskPanel = GetComponent(); if (taskPanel == null) { taskPanel = FindObjectOfType(); } - - } - private void OnDestroy() + private void OnEnable() { - client.onConnectServer -= OnConnectToServer; - TaskManager.Instance.refreshTaskUI -= OnRefreshTaskPanel; + + client = GameClient.Get(); + if (client != null) + client.onConnectServer += OnConnectToServer; + + if (TaskManager.Instance != null) + { + TaskManager.Instance.refreshTaskUI += OnRefreshTaskPanel; + } + } + + private void OnDisable() + { + if (client != null) + client.onConnectServer -= OnConnectToServer; + + if (TaskManager.Instance != null) + TaskManager.Instance.refreshTaskUI -= OnRefreshTaskPanel; } private void OnConnectToServer() @@ -68,7 +62,6 @@ namespace TcgEngine.Client if (taskManager != null) { taskManager.OnPlayerLogin(); - // 强制第一次刷新 OnRefreshTaskPanel(TaskManager.Instance.GetAllTasks()); } } diff --git a/Assets/TcgEngine/Scripts/GameLogic/TaskManager.cs b/Assets/TcgEngine/Scripts/GameLogic/TaskManager.cs index 488bc9d..f6adaf6 100644 --- a/Assets/TcgEngine/Scripts/GameLogic/TaskManager.cs +++ b/Assets/TcgEngine/Scripts/GameLogic/TaskManager.cs @@ -38,17 +38,13 @@ namespace TcgEngine.Gameplay private void Awake() { - - if (Instance == null) - { - Instance = this; - DontDestroyOnLoad(gameObject); - } - else + if (Instance != null && Instance != this) { Destroy(gameObject); + return; } - + Instance = this; + DontDestroyOnLoad(gameObject); } private void Start() diff --git a/Assets/TcgEngine/Scripts/Menu/CollectionPanel.cs b/Assets/TcgEngine/Scripts/Menu/CollectionPanel.cs index 4126cb8..74596b0 100644 --- a/Assets/TcgEngine/Scripts/Menu/CollectionPanel.cs +++ b/Assets/TcgEngine/Scripts/Menu/CollectionPanel.cs @@ -69,6 +69,8 @@ namespace TcgEngine.UI private List deck_cards = new List(); + [SerializeField] private Text cardFragmentsText; + private static CollectionPanel instance; protected override void Awake() @@ -115,7 +117,11 @@ namespace TcgEngine.UI protected override void Update() { base.Update(); - + if (ApiClient.Get() != null) + { + UserData udata = ApiClient.Get().UserData; + cardFragmentsText.text = udata.cardfragments.ToString(); + } } private void LateUpdate() diff --git a/Assets/TcgEngine/Scripts/Menu/MainMenu.cs b/Assets/TcgEngine/Scripts/Menu/MainMenu.cs index f04f03d..bc61123 100644 --- a/Assets/TcgEngine/Scripts/Menu/MainMenu.cs +++ b/Assets/TcgEngine/Scripts/Menu/MainMenu.cs @@ -20,6 +20,7 @@ namespace TcgEngine.UI [Header("Player UI")] public Text username_txt; public Text credits_txt; + public Text crystalText; public AvatarUI avatar; public GameObject loader; @@ -43,7 +44,6 @@ namespace TcgEngine.UI //Set default settings Application.targetFrameRate = 120; GameClient.game_settings = GameSettings.Default; - Debug.Log("WOWO_Awake"); } private void Start() @@ -64,7 +64,6 @@ namespace TcgEngine.UI AfterLogin(); else RefreshLogin(); - // TaskManager.Instance.SavePlayerData(); } void Update() @@ -73,6 +72,7 @@ namespace TcgEngine.UI if (udata != null) { credits_txt.text = GameUI.FormatNumber(udata.coins); + crystalText.text = GameUI.FormatNumber(udata.crystal); } bool matchmaking = GameClientMatchmaker.Get().IsMatchmaking(); diff --git a/Assets/TcgEngine/Scripts/Tasks/TaskPanel.cs b/Assets/TcgEngine/Scripts/Tasks/TaskPanel.cs index d835f80..1f4d2b4 100644 --- a/Assets/TcgEngine/Scripts/Tasks/TaskPanel.cs +++ b/Assets/TcgEngine/Scripts/Tasks/TaskPanel.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using TcgEngine.Client; +using TcgEngine.Gameplay; using UnityEngine; namespace TcgEngine.UI @@ -23,6 +24,9 @@ namespace TcgEngine.UI { base.Start(); Show(); + // UI 准备好后自己请求刷新 + if (TaskManager.Instance != null) + TaskManager.Instance.ResetUIPanel(); } public void RefreshTasks(List playerTasks)