加入用户最近100场战绩记录并实现展示

This commit is contained in:
FloatGaming
2026-03-16 23:18:58 +08:00
parent ec42f2e34b
commit f5c6f143c0
106 changed files with 12120 additions and 642 deletions
@@ -0,0 +1,778 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &234771199352862083
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4123324077405398592}
- component: {fileID: 8960188264249085605}
- component: {fileID: 3250977055161125869}
- component: {fileID: 8822128272939602658}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4123324077405398592
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 234771199352862083}
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: 4338761642545663007}
m_Father: {fileID: 8208094080659918358}
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.239}
m_SizeDelta: {x: 631.94, y: 32}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8960188264249085605
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 234771199352862083}
m_CullTransparentMesh: 1
--- !u!114 &3250977055161125869
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 234771199352862083}
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: 9ebd9ce7600225b48a92c3900b8188fc, type: 3}
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.5
--- !u!114 &8822128272939602658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 234771199352862083}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
--- !u!1 &605146429474934285
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3408883077910921622}
- component: {fileID: 914656992227190605}
- component: {fileID: 6942412580199853785}
m_Layer: 5
m_Name: ratios
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3408883077910921622
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 605146429474934285}
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: 8208094080659918358}
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: 99.94, y: 0}
m_SizeDelta: {x: 105.454, y: 33}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &914656992227190605
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 605146429474934285}
m_CullTransparentMesh: 1
--- !u!114 &6942412580199853785
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 605146429474934285}
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: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 11
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'ACC: 99.99%
SRKS: 0'
--- !u!1 &1094181788329206573
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3373422848972785680}
- component: {fileID: 5470506153239392007}
- component: {fileID: 7919000474169282653}
m_Layer: 5
m_Name: score
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3373422848972785680
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094181788329206573}
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: 8208094080659918358}
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: 177.90303, y: 0}
m_SizeDelta: {x: 106.604, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5470506153239392007
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094181788329206573}
m_CullTransparentMesh: 1
--- !u!114 &7919000474169282653
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1094181788329206573}
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: dfa10de3e2846524089b5073175cd151, type: 3}
m_FontSize: 22
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1234567
--- !u!1 &2917378665968473732
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4891152336866190808}
- component: {fileID: 137569880202737436}
- component: {fileID: 327122142813215607}
m_Layer: 5
m_Name: playtime
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4891152336866190808
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2917378665968473732}
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: 8208094080659918358}
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: -261.66998, y: 0}
m_SizeDelta: {x: 92.295, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &137569880202737436
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2917378665968473732}
m_CullTransparentMesh: 1
--- !u!114 &327122142813215607
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2917378665968473732}
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: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 03-11, 20:25
--- !u!1 &4621517492616896599
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7028528044515112815}
- component: {fileID: 6640949252045097570}
m_Layer: 5
m_Name: gameHistoryPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7028528044515112815
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4621517492616896599}
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: 8208094080659918358}
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: 100, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6640949252045097570
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4621517492616896599}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ef37b79f388055c42814b61b99307a88, type: 3}
m_Name:
m_EditorClassIdentifier:
songImg: {fileID: 2020282907842096563}
playtime: {fileID: 327122142813215607}
songName: {fileID: 5623005123688252722}
songDfct: {fileID: 3212708411851175897}
songPerf: {fileID: 6942412580199853785}
songScore: {fileID: 7919000474169282653}
songRankImg: {fileID: 122816322594050325}
rc: {fileID: 11400000, guid: 951debb97a9b89f48885c82bb601533a, type: 2}
--- !u!1 &6079840058504322514
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8635158262134080350}
- component: {fileID: 1355116519816520013}
- component: {fileID: 5623005123688252722}
m_Layer: 5
m_Name: name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8635158262134080350
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6079840058504322514}
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: 8208094080659918358}
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: -123.614, y: 0}
m_SizeDelta: {x: 155.473, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1355116519816520013
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6079840058504322514}
m_CullTransparentMesh: 1
--- !u!114 &5623005123688252722
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6079840058504322514}
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: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u8FD9\u4E0D\u662F\u5FEB\u5634\u6211\u6253\u5F00\u4F60\u7CFB\u7EDF\u53D1\u73B0\u4F60\u8FD8\u7528\u7684\u662FWindows7"
--- !u!1 &6320723473554693168
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4456371091438042425}
- component: {fileID: 9142928039487649196}
- component: {fileID: 3212708411851175897}
m_Layer: 5
m_Name: difficulty
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4456371091438042425
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6320723473554693168}
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: 8208094080659918358}
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: 1.3, y: 0}
m_SizeDelta: {x: 53.437, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9142928039487649196
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6320723473554693168}
m_CullTransparentMesh: 1
--- !u!114 &3212708411851175897
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6320723473554693168}
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: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 18_HD
--- !u!1 &6988015895875826385
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8208094080659918358}
- component: {fileID: 5416189281710205050}
- component: {fileID: 2692334955411405539}
m_Layer: 5
m_Name: btm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8208094080659918358
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6988015895875826385}
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: 4123324077405398592}
- {fileID: 4891152336866190808}
- {fileID: 8635158262134080350}
- {fileID: 4456371091438042425}
- {fileID: 3408883077910921622}
- {fileID: 3373422848972785680}
- {fileID: 849455618348688958}
m_Father: {fileID: 7028528044515112815}
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: 650, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5416189281710205050
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6988015895875826385}
m_CullTransparentMesh: 1
--- !u!114 &2692334955411405539
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6988015895875826385}
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: 7f3b1220317607e44bbb8f0e1998044a, type: 3}
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 &7850640493555147263
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4338761642545663007}
- component: {fileID: 1233519261338957310}
- component: {fileID: 2020282907842096563}
m_Layer: 5
m_Name: maskBtm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4338761642545663007
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7850640493555147263}
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: 4123324077405398592}
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: 639.522, y: 86.744}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1233519261338957310
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7850640493555147263}
m_CullTransparentMesh: 1
--- !u!114 &2020282907842096563
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7850640493555147263}
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: 9732ceca4a8f8ab419584bd34710c04a, 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 &7915518511070944398
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 849455618348688958}
- component: {fileID: 4741121237072454142}
- component: {fileID: 122816322594050325}
m_Layer: 5
m_Name: level
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &849455618348688958
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7915518511070944398}
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: 8208094080659918358}
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: 271.2, y: 0}
m_SizeDelta: {x: 80, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4741121237072454142
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7915518511070944398}
m_CullTransparentMesh: 1
--- !u!114 &122816322594050325
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7915518511070944398}
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: 4f1e610ba464ef84594814374653f0a6, 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
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8c7f1125b672ba54fb24d10e0cc4095a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+156
View File
@@ -0,0 +1,156 @@
using UnityEngine;
using UnityEngine.UI;
public class ghPrefab : MonoBehaviour
{
[Header("hahahaha")]
public Image songImg;
public Text playtime;
public Text songName;
public Text songDfct;
public Text songPerf;
public Text songScore;
public Image songRankImg;
[Header("rank config")]
public RankConfig rc;
private static readonly Color EarlySettlementColor = new Color32(204, 51, 51, 255);
private static readonly Color AllPerfectColor = new Color32(0, 100, 0, 255);
private const string UnreadableText = "\u65e0\u6cd5\u8bfb\u53d6";
public void Setup(RecentPlayRecord record, SongData songData)
{
if (record == null)
{
ApplyUnreadableFallback();
return;
}
if (songImg != null)
{
songImg.sprite = songData != null ? songData.illustration : null;
songImg.enabled = songImg.sprite != null;
}
if (playtime != null)
{
playtime.text = string.IsNullOrWhiteSpace(record.playedAt) ? "--" : record.playedAt;
}
if (songName != null)
{
string displayName = string.IsNullOrWhiteSpace(record.songName) ? "Unknown" : record.songName;
songName.text = FitTextWithEllipsis(songName, displayName);
}
if (songDfct != null)
{
songDfct.text = string.IsNullOrWhiteSpace(record.difficultyDisplay) ? "UN" : record.difficultyDisplay;
}
if (songPerf != null)
{
songPerf.text = "ACC: " + record.accuracy.ToString("F3") + "%\nSRKS: " + record.srks.ToString("F2");
}
if (songScore != null)
{
if (!record.scoreReadable)
{
songScore.text = UnreadableText;
songScore.color = Color.black;
}
else
{
songScore.text = record.totalScore.ToString();
if (record.wasEarlySettlement)
{
songScore.color = EarlySettlementColor;
}
else if (record.wasAllPerfect)
{
songScore.color = AllPerfectColor;
}
else
{
songScore.color = Color.black;
}
}
}
if (songRankImg != null)
{
if (rc != null)
{
float rankScore = record.scoreReadable ? record.totalScore : 0f;
songRankImg.sprite = rc.GetRankSprite(rankScore);
}
else
{
songRankImg.sprite = null;
}
}
}
private void ApplyUnreadableFallback()
{
if (songImg != null)
{
songImg.sprite = null;
songImg.enabled = false;
}
if (playtime != null) playtime.text = "--";
if (songName != null) songName.text = "Unknown";
if (songDfct != null) songDfct.text = "UN";
if (songPerf != null) songPerf.text = "ACC: --\nSRKS: --";
if (songScore != null)
{
songScore.text = UnreadableText;
songScore.color = Color.black;
}
if (songRankImg != null)
{
songRankImg.sprite = rc != null ? rc.GetRankSprite(0f) : null;
}
}
private static string FitTextWithEllipsis(Text target, string value)
{
if (target == null || string.IsNullOrEmpty(value))
{
return value;
}
RectTransform rt = target.rectTransform;
float availableWidth = rt != null ? rt.rect.width : 0f;
if (availableWidth <= 0f || target.font == null)
{
return value;
}
TextGenerationSettings settings = target.GetGenerationSettings(new Vector2(availableWidth, rt.rect.height));
float preferred = target.cachedTextGeneratorForLayout.GetPreferredWidth(value, settings) / target.pixelsPerUnit;
if (preferred <= availableWidth)
{
return value;
}
const string ellipsis = "...";
string trimmed = value;
while (trimmed.Length > 0)
{
trimmed = trimmed.Substring(0, trimmed.Length - 1);
string candidate = trimmed + ellipsis;
preferred = target.cachedTextGeneratorForLayout.GetPreferredWidth(candidate, settings) / target.pixelsPerUnit;
if (preferred <= availableWidth)
{
return candidate;
}
}
return ellipsis;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: ef37b79f388055c42814b61b99307a88
@@ -0,0 +1,200 @@
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
public class uRecentGameHistory : MonoBehaviour
{
private const string SongResourcesPath = "song_songIndex";
private const int MaxVisibleRecordCount = 5;
[Header("gameobjects")]
public GameObject gameHistoryPrefab;
public Transform gameHistoryParent;
public Transform dGameHistoryParent;
public GameObject more_gameHistory;
[Header("buttons")]
public Button more_gameHistoryButton;
public Button shut_gameHistoryButton;
private SongData[] cachedSongs;
private readonly List<GameObject> previewEntries = new List<GameObject>();
private readonly List<GameObject> detailEntries = new List<GameObject>();
private void Start()
{
BindButtons();
if (more_gameHistory != null)
{
more_gameHistory.SetActive(false);
}
RebuildHistory();
}
private void OnDestroy()
{
if (more_gameHistoryButton != null)
{
more_gameHistoryButton.onClick.RemoveListener(OpenDetailedHistory);
}
if (shut_gameHistoryButton != null)
{
shut_gameHistoryButton.onClick.RemoveListener(CloseDetailedHistory);
}
}
public void RebuildHistory()
{
if (gameHistoryParent == null || gameHistoryPrefab == null)
{
return;
}
ClearEntries(previewEntries, gameHistoryParent);
cachedSongs = Resources.LoadAll<SongData>(SongResourcesPath);
var records = RecentPlayHistoryStore.GetRecords();
if (records == null)
{
return;
}
int visibleCount = Mathf.Min(records.Count, MaxVisibleRecordCount);
for (int i = 0; i < visibleCount; i++)
{
RecentPlayRecord record = records[i];
if (record == null)
{
continue;
}
GameObject instance = Instantiate(gameHistoryPrefab, gameHistoryParent);
previewEntries.Add(instance);
ghPrefab controller = instance.GetComponent<ghPrefab>();
if (controller == null)
{
continue;
}
controller.Setup(record, FindSongById(record.songID));
}
}
private void OpenDetailedHistory()
{
if (more_gameHistory != null)
{
more_gameHistory.SetActive(true);
}
if (dGameHistoryParent == null || gameHistoryPrefab == null)
{
return;
}
ClearEntries(detailEntries, dGameHistoryParent);
EnsureSongCache();
var records = RecentPlayHistoryStore.GetRecords();
if (records == null)
{
return;
}
for (int i = 0; i < records.Count; i++)
{
RecentPlayRecord record = records[i];
if (record == null)
{
continue;
}
GameObject instance = Instantiate(gameHistoryPrefab, dGameHistoryParent);
detailEntries.Add(instance);
ghPrefab controller = instance.GetComponent<ghPrefab>();
if (controller == null)
{
continue;
}
controller.Setup(record, FindSongById(record.songID));
}
}
private void CloseDetailedHistory()
{
ClearEntries(detailEntries, dGameHistoryParent);
if (more_gameHistory != null)
{
more_gameHistory.SetActive(false);
}
}
private SongData FindSongById(int songId)
{
if (songId <= 0 || cachedSongs == null)
{
return null;
}
for (int i = 0; i < cachedSongs.Length; i++)
{
SongData song = cachedSongs[i];
if (song != null && song.songID == songId)
{
return song;
}
}
return null;
}
private void BindButtons()
{
if (more_gameHistoryButton != null)
{
more_gameHistoryButton.onClick.RemoveListener(OpenDetailedHistory);
more_gameHistoryButton.onClick.AddListener(OpenDetailedHistory);
}
if (shut_gameHistoryButton != null)
{
shut_gameHistoryButton.onClick.RemoveListener(CloseDetailedHistory);
shut_gameHistoryButton.onClick.AddListener(CloseDetailedHistory);
}
}
private void EnsureSongCache()
{
if (cachedSongs == null || cachedSongs.Length == 0)
{
cachedSongs = Resources.LoadAll<SongData>(SongResourcesPath);
}
}
private static void ClearEntries(List<GameObject> entries, Transform parent)
{
for (int i = entries.Count - 1; i >= 0; i--)
{
if (entries[i] != null)
{
Destroy(entries[i]);
}
}
entries.Clear();
if (parent == null)
{
return;
}
for (int i = parent.childCount - 1; i >= 0; i--)
{
Destroy(parent.GetChild(i).gameObject);
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d4e289acd8282f743864eb651643e526