UI update 02

This commit is contained in:
FloatGaming
2026-06-30 21:21:30 +08:00
parent b2a1e307a4
commit f62f643cfc
1666 changed files with 211081 additions and 22799 deletions
+180 -39
View File
@@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 7558135605400599259}
- component: {fileID: 7133826745411389227}
- component: {fileID: 6928221555646444927}
- component: {fileID: 7036433625376630399}
m_Layer: 5
m_Name: Flash update maintenance
m_TagString: Untagged
@@ -34,9 +35,9 @@ RectTransform:
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: -4.509033, y: -34.397995}
m_SizeDelta: {x: 282.4062, y: 45.9354}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -244.37305, y: 12.040039}
m_SizeDelta: {x: 0, y: 24}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &7133826745411389227
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -58,7 +59,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.24705882, g: 0.2901961, b: 0.3372549, a: 1}
m_Color: {r: 0.27450982, g: 0.34901962, b: 0.54901963, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -66,8 +67,8 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 775c674e81662c644b64550d2e8f74e0, type: 3}
m_FontSize: 16
m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
@@ -78,7 +79,21 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u90AE\u4EF6\u53D1\u9001\u8005\u4E4B\u540D"
m_Text: "\u5411\u6211\u9001\u6765\u5FEB\u4EF6\u4E4B\u4EBA"
--- !u!114 &7036433625376630399
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2066221122710132821}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &2099890146745262811
GameObject:
m_ObjectHideFlags: 0
@@ -111,10 +126,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5621183137027322754}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.8999939, y: -6.129402}
m_SizeDelta: {x: -29.5901, y: -9.3485}
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: 555, y: 208}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3175281485803634653
CanvasRenderer:
@@ -144,8 +159,8 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7f3b1220317607e44bbb8f0e1998044a, type: 3}
m_Type: 1
m_Sprite: {fileID: 8854417684009032258, guid: 1bd88f0f7ac689547962837bd557eb8a, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
@@ -186,10 +201,10 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5621183137027322754}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 182.90002, y: 51.370605}
m_SizeDelta: {x: 334.4099, y: 105.6515}
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: 579.1738, y: 231.1}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7008027552913759031
CanvasRenderer:
@@ -219,7 +234,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 232065537e252394387fb47fa6b2dcc5, type: 3}
m_Sprite: {fileID: 21300000, guid: c123f863b7b5604489f0ddc316ae874c, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@@ -263,7 +278,7 @@ RectTransform:
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: 159.904, y: -38.326}
m_AnchoredPosition: {x: 257.3, y: -82.7}
m_SizeDelta: {x: 25.39, y: 25.39}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6834767164941111381
@@ -344,12 +359,13 @@ RectTransform:
- {fileID: 534353859276426444}
- {fileID: 3689372353391782434}
- {fileID: 3291758792712995361}
- {fileID: 1891824956346360304}
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: 364, y: 115}
m_AnchoredPosition: {x: -265.82788, y: 0}
m_SizeDelta: {x: 555, y: 208}
m_Pivot: {x: 0, y: 1}
--- !u!222 &3446478977441642562
CanvasRenderer:
@@ -380,6 +396,7 @@ MonoBehaviour:
isRead_redDot: {fileID: 5207857902298871163}
hasGift_icon: {fileID: 7263898542046783438}
selectedImage: {fileID: 3993924508272299680}
rewards_with_mail_text: {fileID: 8253746421053648099}
--- !u!114 &9141582492685584424
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -480,7 +497,7 @@ RectTransform:
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: 155.33, y: 33.6}
m_AnchoredPosition: {x: 269.38, y: 95.075}
m_SizeDelta: {x: 16.2427, y: 16.2427}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6649243587887819779
@@ -532,6 +549,7 @@ GameObject:
- component: {fileID: 967553401069327630}
- component: {fileID: 8516550346014839520}
- component: {fileID: 7890613553273598317}
- component: {fileID: 4338406590563126180}
m_Layer: 5
m_Name: title
m_TagString: Untagged
@@ -555,9 +573,9 @@ RectTransform:
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: -4.509033, y: -0.6997986}
m_SizeDelta: {x: 282.4062, y: 45.9354}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -244.373, y: 50.4}
m_SizeDelta: {x: 0, y: 45.9354}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &8516550346014839520
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -579,7 +597,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.24705882, g: 0.2901961, b: 0.3372549, a: 1}
m_Color: {r: 0.14117648, g: 0.34117648, b: 0.7764706, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -587,19 +605,127 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 775c674e81662c644b64550d2e8f74e0, type: 3}
m_FontSize: 24
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
m_FontSize: 40
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 51
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u90AE\u4EF6\u53D1\u9001\u8005\u4E4B\u540D"
m_Text: "\u90AE\u4EF6\u7B80\u8981\u6807\u9898"
--- !u!114 &4338406590563126180
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5560469257631796844}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &6936843061060613850
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1891824956346360304}
- component: {fileID: 22047387300050254}
- component: {fileID: 8253746421053648099}
- component: {fileID: 5181856414523142802}
m_Layer: 5
m_Name: rewardAmount
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1891824956346360304
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6936843061060613850}
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: 5621183137027322754}
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: -244.37085, y: -71.8}
m_SizeDelta: {x: 0, y: 45.9354}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &22047387300050254
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6936843061060613850}
m_CullTransparentMesh: 1
--- !u!114 &8253746421053648099
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6936843061060613850}
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: 0.27450982, g: 0.34901962, b: 0.54901963, 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: d254d20d93651ae448ff13d10dff30ab, type: 3}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 51
m_Alignment: 6
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u5305\u542B999\u4E2A\u9644\u4EF6"
--- !u!114 &5181856414523142802
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6936843061060613850}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &8434817423601420627
GameObject:
m_ObjectHideFlags: 0
@@ -611,6 +737,7 @@ GameObject:
- component: {fileID: 3704606516530315197}
- component: {fileID: 8249099638426353641}
- component: {fileID: 6583176049106442387}
- component: {fileID: 1332942459015384666}
m_Layer: 5
m_Name: XX/XX
m_TagString: Untagged
@@ -634,9 +761,9 @@ RectTransform:
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: -53.841248, y: -52.43229}
m_SizeDelta: {x: 183.7417, y: 45.9354}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -244.37085, y: -22.968}
m_SizeDelta: {x: 0, y: 45.9354}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &8249099638426353641
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -658,7 +785,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.24705882, g: 0.2901961, b: 0.3372549, a: 1}
m_Color: {r: 0.27450982, g: 0.34901962, b: 0.54901963, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -666,19 +793,33 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: c1cafde4d7133254ab2667175642f333, type: 3}
m_FontSize: 16
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 1
m_MaxSize: 51
m_Alignment: 0
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: yyyy-mm-dd
--- !u!114 &1332942459015384666
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8434817423601420627}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &8654254867830746620
GameObject:
m_ObjectHideFlags: 0
@@ -713,8 +854,8 @@ RectTransform:
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: 103.43616, y: -6.1293983}
m_SizeDelta: {x: 91.8708, y: 91.8708}
m_AnchoredPosition: {x: 179.09, y: 0}
m_SizeDelta: {x: 180, y: 180}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6703749322319173357
CanvasRenderer:
+89 -3
View File
@@ -1,5 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1539804764206357560
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5361966735366096727}
- component: {fileID: 6390590842954084146}
- component: {fileID: 5551096902768921713}
m_Layer: 5
m_Name: border
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5361966735366096727
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1539804764206357560}
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: 3750035863329165522}
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: 90, y: 90}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6390590842954084146
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1539804764206357560}
m_CullTransparentMesh: 1
--- !u!114 &5551096902768921713
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1539804764206357560}
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: 3c5a917f2e9787643a2bfc1c8f394784, 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 &1747668260235191237
GameObject:
m_ObjectHideFlags: 0
@@ -52,7 +127,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1747668260235191237}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
@@ -339,7 +414,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: -15.2724}
m_AnchoredPosition: {x: 0, y: -22.79}
m_SizeDelta: {x: 100, y: 25.4324}
m_Pivot: {x: 0.5, y: 0}
--- !u!222 &7224882303433308279
@@ -371,7 +446,7 @@ MonoBehaviour:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3}
m_Font: {fileID: 12800000, guid: d254d20d93651ae448ff13d10dff30ab, type: 3}
m_FontSize: 18
m_FontStyle: 0
m_BestFit: 1
@@ -492,6 +567,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5361966735366096727}
- {fileID: 8566472100696258192}
- {fileID: 2122617407453514813}
- {fileID: 1825313216550694355}
@@ -516,6 +592,16 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 834d77cad9346344fa26042a75411f7f, type: 3}
m_Name:
m_EditorClassIdentifier:
borderIconImg: {fileID: 5551096902768921713}
borderIconSprites:
- {fileID: 21300000, guid: c1d3013bdbb080f4f8806bc4d6c58db2, type: 3}
- {fileID: 21300000, guid: 0edbf3fabc7d78e43b1c48516f08667a, type: 3}
- {fileID: 21300000, guid: d878370cc5eb0cb409882bb8e6fd7537, type: 3}
- {fileID: 21300000, guid: 3ce075becece84045b16ac2fe217f415, type: 3}
- {fileID: 21300000, guid: 0eab00cf603f6694c89603352de122e6, type: 3}
- {fileID: 21300000, guid: 5ce43da28e0e4464a8a3bd79cfdd18de, type: 3}
- {fileID: 21300000, guid: 01f1bbba4db2f5042b08ca58ec475d34, type: 3}
- {fileID: 21300000, guid: 3c5a917f2e9787643a2bfc1c8f394784, type: 3}
rewardIcon: {fileID: 1255645474496222963}
rewardName: {fileID: 6228527523584967566}
rewardAmount: {fileID: 1879964219122933560}
+174
View File
@@ -1,8 +1,14 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class mailSlotPrefab : MonoBehaviour
{
private static readonly Dictionary<string, Sprite> RewardPreviewCache = new Dictionary<string, Sprite>(System.StringComparer.Ordinal);
private static readonly HashSet<string> RewardPreviewLoadsInFlight = new HashSet<string>(System.StringComparer.Ordinal);
[Header("buttons")]
public Button openButton;
public Button receivedButton;
@@ -16,4 +22,172 @@ public class mailSlotPrefab : MonoBehaviour
public Image hasGift_icon;
[Header("select")]
public Image selectedImage;
[Header("gifts")]
public Text rewards_with_mail_text;
[Header("reward previews")]
public Transform rewardPreviewRoot;
public GameObject rewardPreviewPrefab;
public Sprite fallbackRewardPreviewSprite;
public void RefreshRewardsWithMailText(mail_so mailData)
{
if (rewards_with_mail_text == null)
{
return;
}
int rewardCount = GetRewardCount(mailData);
rewards_with_mail_text.text = rewardCount <= 0
? "\u4e0d\u5305\u542b\u9644\u4ef6"
: $"\u5305\u542b{rewardCount}\u4e2a\u9644\u4ef6";
}
public void RefreshRewardPreviews(mail_so mailData)
{
if (rewardPreviewRoot == null)
{
return;
}
for (int i = rewardPreviewRoot.childCount - 1; i >= 0; i--)
{
Destroy(rewardPreviewRoot.GetChild(i).gameObject);
}
if (mailData == null || mailData.rewardList == null || mailData.rewardList.Count == 0 || rewardPreviewPrefab == null)
{
return;
}
for (int i = 0; i < mailData.rewardList.Count; i++)
{
mail_so.rewardItem reward = mailData.rewardList[i];
if (reward == null)
{
continue;
}
GameObject go = Instantiate(rewardPreviewPrefab, rewardPreviewRoot);
Image icon = go.GetComponent<Image>();
if (icon == null)
{
icon = go.GetComponentInChildren<Image>(true);
}
BindRewardPreviewIcon(icon, reward);
}
}
private void BindRewardPreviewIcon(Image icon, mail_so.rewardItem reward)
{
if (icon == null)
{
return;
}
if (reward != null && reward.reward_image != null)
{
icon.sprite = reward.reward_image;
icon.enabled = true;
return;
}
string url = reward != null ? (reward.reward_icon_url ?? string.Empty).Trim() : string.Empty;
if (string.IsNullOrWhiteSpace(url))
{
icon.sprite = fallbackRewardPreviewSprite;
icon.enabled = fallbackRewardPreviewSprite != null;
return;
}
if (!url.StartsWith("http://", System.StringComparison.OrdinalIgnoreCase)
&& !url.StartsWith("https://", System.StringComparison.OrdinalIgnoreCase))
{
NetworkManager network = NetworkManager.Instance;
if (network != null && !string.IsNullOrWhiteSpace(network.ServerUrl))
{
string baseUrl = network.ServerUrl.TrimEnd('/');
if (!url.StartsWith("/"))
{
url = "/" + url;
}
url = baseUrl + url;
}
}
if (RewardPreviewCache.TryGetValue(url, out Sprite cachedSprite) && cachedSprite != null)
{
icon.sprite = cachedSprite;
icon.enabled = true;
return;
}
icon.sprite = fallbackRewardPreviewSprite;
icon.enabled = icon.sprite != null;
if (!RewardPreviewLoadsInFlight.Add(url))
{
return;
}
StartCoroutine(LoadRewardPreviewSpriteRoutine(url, icon));
}
private IEnumerator LoadRewardPreviewSpriteRoutine(string imageUrl, Image icon)
{
using (UnityWebRequest request = UnityWebRequestTexture.GetTexture(imageUrl))
{
yield return request.SendWebRequest();
try
{
if (request.result != UnityWebRequest.Result.Success)
{
yield break;
}
Texture2D texture = DownloadHandlerTexture.GetContent(request);
if (texture == null)
{
yield break;
}
Sprite sprite = Sprite.Create(
texture,
new Rect(0f, 0f, texture.width, texture.height),
new Vector2(0.5f, 0.5f));
RewardPreviewCache[imageUrl] = sprite;
if (icon != null)
{
icon.sprite = sprite;
icon.enabled = true;
}
}
finally
{
RewardPreviewLoadsInFlight.Remove(imageUrl);
}
}
}
private static int GetRewardCount(mail_so mailData)
{
if (mailData == null || mailData.rewardList == null)
{
return 0;
}
int count = 0;
for (int i = 0; i < mailData.rewardList.Count; i++)
{
mail_so.rewardItem reward = mailData.rewardList[i];
if (reward == null)
{
continue;
}
count += Mathf.Max(0, reward.reward_ammount);
}
return count;
}
}
+1
View File
@@ -45,6 +45,7 @@ public class mail_so : ScriptableObject
public reward_type reward_Type = reward_type.exp_user;
public int reward_ammount;
public Sprite reward_image;
public string reward_icon_url;
public string reward_description;
public string reward_key;
public int reward_store_item_id;
+59
View File
@@ -4,6 +4,8 @@ using UnityEngine.EventSystems;
public class rewardSlotPrefab : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
public Image borderIconImg;
public Sprite[] borderIconSprites;
public Image rewardIcon;
public Text rewardName;
public Text rewardAmount;
@@ -16,6 +18,63 @@ public class rewardSlotPrefab : MonoBehaviour, IPointerEnterHandler, IPointerExi
if (detailBtm != null) detailBtm.SetActive(false);
}
public void BindReward(mail_so.rewardItem reward)
{
if (reward == null)
{
ApplyBorderSprite(ItemRarity.None);
return;
}
MailRewardGrantService.PopulateRewardDisplay(reward);
if (rewardName != null) rewardName.text = reward.rewardName;
if (rewardAmount != null) rewardAmount.text = reward.reward_ammount == 1 ? string.Empty : reward.reward_ammount.ToString();
if (rewardIcon != null) rewardIcon.sprite = reward.reward_image;
if (detailText != null) detailText.text = reward.reward_description;
if (!MailRewardGrantService.TryGetRewardRarity(reward, out ItemRarity rarity))
{
rarity = ItemRarity.None;
}
ApplyBorderSprite(rarity);
}
private void ApplyBorderSprite(ItemRarity rarity)
{
if (borderIconImg == null)
{
return;
}
Sprite sprite = ResolveBorderSprite(rarity);
borderIconImg.sprite = sprite;
borderIconImg.enabled = sprite != null;
}
private Sprite ResolveBorderSprite(ItemRarity rarity)
{
if (borderIconSprites != null && borderIconSprites.Length > 0)
{
int enumIndex = (int)rarity;
if (enumIndex >= 0 && enumIndex < borderIconSprites.Length)
{
Sprite sprite = borderIconSprites[enumIndex];
if (sprite != null)
{
return sprite;
}
}
if (borderIconSprites[0] != null)
{
return borderIconSprites[0];
}
}
return null;
}
public void OnPointerEnter(PointerEventData eventData)
{
if (detailBtm != null) detailBtm.SetActive(true);