diff --git a/Assets/MyGame/Scenes/UIScene.unity b/Assets/MyGame/Scenes/UIScene.unity
index 0898830dc..e2d2470c8 100644
--- a/Assets/MyGame/Scenes/UIScene.unity
+++ b/Assets/MyGame/Scenes/UIScene.unity
@@ -5552,6 +5552,11 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 1096182889}
m_Modifications:
+ - target: {fileID: 2189820374461339302, guid: f206f68250e35c54481406a83c165790,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 4683725052380794649, guid: f206f68250e35c54481406a83c165790,
type: 3}
propertyPath: m_Pivot.x
@@ -5652,6 +5657,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 5436103631707523789, guid: f206f68250e35c54481406a83c165790,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 6568873253317409902, guid: f206f68250e35c54481406a83c165790,
type: 3}
propertyPath: m_SizeDelta.y
@@ -5692,6 +5702,16 @@ PrefabInstance:
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
+ - target: {fileID: 7741008535677535188, guid: f206f68250e35c54481406a83c165790,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8156378713621244176, guid: f206f68250e35c54481406a83c165790,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
- target: {fileID: 8876291267844903025, guid: f206f68250e35c54481406a83c165790,
type: 3}
propertyPath: m_SizeDelta.x
diff --git a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab
index 82a29c905..c1160ac30 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab
+++ b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing.prefab
@@ -8807,7 +8807,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 1
+ m_Interactable: 0
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 7472470633991249608}
m_HandleRect: {fileID: 0}
@@ -16913,7 +16913,7 @@ MonoBehaviour:
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
- m_TargetGraphic: {fileID: 0}
+ m_TargetGraphic: {fileID: 7718981931123179897}
m_OnClick:
m_PersistentCalls:
m_Calls: []
@@ -16965,7 +16965,7 @@ GameObject:
m_Component:
- component: {fileID: 1527984143713383169}
- component: {fileID: 8033538831435769240}
- - component: {fileID: 5179211485638462881}
+ - component: {fileID: 776685376167304651}
m_Layer: 0
m_Name: "30\u592910:01:50"
m_TagString: Untagged
@@ -16989,8 +16989,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: 159.99997, y: 0}
- m_SizeDelta: {x: 162, y: 26}
+ m_AnchoredPosition: {x: 159.99997, y: 1.6769}
+ m_SizeDelta: {x: 162, y: 29.3538}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8033538831435769240
CanvasRenderer:
@@ -17000,7 +17000,7 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5319124156298315513}
m_CullTransparentMesh: 1
---- !u!114 &5179211485638462881
+--- !u!114 &776685376167304651
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -17009,7 +17009,7 @@ MonoBehaviour:
m_GameObject: {fileID: 5319124156298315513}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
@@ -17020,16 +17020,76 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 77a32e24e847fb943807d07a8cff3f1b, 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
+ m_text: "30\u592910:01:50"
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 5d4a713fdd931db4c9ce49f068b54e0a, type: 2}
+ m_sharedMaterial: {fileID: 3593458263369068374, guid: 5d4a713fdd931db4c9ce49f068b54e0a,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4279756846
+ m_fontColor: {r: 0.18039216, g: 0.909804, b: 0.09019608, 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: 28
+ m_fontSizeBase: 28
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ 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_enableWordWrapping: 0
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 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 &5358519557799794069
GameObject:
m_ObjectHideFlags: 0
@@ -19488,7 +19548,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 3305275072961299247}
m_OnClick:
m_PersistentCalls:
- m_Calls: []
+ m_Calls:
+ - m_Target: {fileID: 5263909733976706347}
+ m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
+ m_MethodName: SetActive
+ m_Mode: 6
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 1
+ m_CallState: 2
--- !u!1 &6011460363266197721
GameObject:
m_ObjectHideFlags: 0
@@ -22188,6 +22260,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
tmp_ExpCount: {fileID: 2871107947423526397}
+ tmp_ExpJinDu: {fileID: 1734379018237689706}
tmp_RenWoLabel: {fileID: 352850241436003180}
jinDu: {fileID: 935703621404597611}
lingQu: {fileID: 7760854768159956749}
@@ -24235,6 +24308,7 @@ MonoBehaviour:
btn_GetAllGift: {fileID: 5812119166287877420}
btn_BuyJinJieZhanLing: {fileID: 7563449252917026989}
btn_BuyZhanLing_Label: {fileID: 3554269888248240228}
+ tmp_ActiveTime: {fileID: 776685376167304651}
renWuItemPrefab: {fileID: 3780547620844255518}
renWuItemParent: {fileID: 4557754362310033953}
buyLevelGiftitemPrefab: {fileID: 930733755254247842}
@@ -24244,6 +24318,7 @@ MonoBehaviour:
slider_BuyLevelExpCount: {fileID: 5636591641690678987}
btn_Buy: {fileID: 837267387750453869}
tmp_PriceNum: {fileID: 1193562588815078309}
+ tmp_BuyLabel: {fileID: 5895704420953922786}
huoDongToggleItemPrefab: {fileID: 3542276533729162296}
huoDongToggleItemParent: {fileID: 6568873253317409902}
btn_JinJie: {fileID: 5442973199467095328}
@@ -29872,7 +29947,7 @@ MonoBehaviour:
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
- m_Interactable: 1
+ m_Interactable: 0
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 7077596146806315097}
m_HandleRect: {fileID: 0}
@@ -30082,7 +30157,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- - m_Target: {fileID: 6595484543134336306}
+ - m_Target: {fileID: 5263909733976706347}
m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine
m_MethodName: SetActive
m_Mode: 6
@@ -30902,7 +30977,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 4557754362310033953}
- m_Horizontal: 1
+ m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0.1
diff --git a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing/RenWuItem.cs b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing/RenWuItem.cs
index 22583f7c5..142bcdbf4 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing/RenWuItem.cs
+++ b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing/RenWuItem.cs
@@ -6,13 +6,15 @@ using UnityEngine.UI;
public class RenWuItem : MonoBehaviour
{
- public TextMeshProUGUI tmp_ExpCount;
+ public TextMeshProUGUI tmp_ExpCount;//20 /20
+ public TextMeshProUGUI tmp_ExpJinDu;//20 /20
public TextMeshProUGUI tmp_RenWoLabel;
public Slider jinDu;
public Button lingQu;
public Button qianWang;
- public void Init(int expCount, string renWoLabel,float jinDuValue,UIPanel uIPanel,SubUIManager subUIManager)
+ public void Init(int expCount, int currJinDu,int maxJinDu, string renWoLabel,float jinDuValue,UIPanel uIPanel,SubUIManager subUIManager)
{
+ tmp_ExpJinDu.text = $"{expCount} /{maxJinDu}";
tmp_ExpCount.text = expCount.ToString();
tmp_RenWoLabel.text = renWoLabel;
jinDu.value = jinDuValue;
diff --git a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
index 21bf930c0..a79d3cf66 100644
--- a/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
+++ b/Assets/MyGame/aa/UI/Home/Sub/ZhanLing_Panel.cs
@@ -22,6 +22,7 @@ public class ZhanLing_Panel : SubUIBase
public Button btn_GetAllGift;
public Button btn_BuyJinJieZhanLing;
public TextMeshProUGUI btn_BuyZhanLing_Label;
+ public TextMeshProUGUI tmp_ActiveTime; //战令刷新时间 30天10:01:50
[Header("任务页面")]
public RenWuItem renWuItemPrefab;
@@ -35,6 +36,7 @@ public class ZhanLing_Panel : SubUIBase
public Slider slider_BuyLevelExpCount;
public Button btn_Buy;
public TextMeshProUGUI tmp_PriceNum;
+ public TextMeshProUGUI tmp_BuyLabel; //购买 99999 点经验值升至 100 级
[Header("活动切换项")]
public GameObject huoDongToggleItemPrefab;
@@ -99,10 +101,37 @@ public class ZhanLing_Panel : SubUIBase
? new HashSet(_userData.receivedLevels)
: new HashSet();
- // 构建等级礼包列表(1-99级)
+ // 构建等级礼包列表(1-99级显示礼包内容,100级占位)
foreach (var lv in _config.levelConfig)
{
- if (lv.level >= _maxLevel) continue;
+ if (lv.level > _maxLevel) continue;
+
+ if (lv.level == _maxLevel)
+ {
+ // 100级占位:创建一个空对象保持布局对齐
+ var placeholder = new GameObject("Placeholder_Lv100", typeof(RectTransform));
+ placeholder.transform.SetParent(levelGiftitemParent, false);
+ var rt = placeholder.GetComponent();
+ var prefabRt = levelGiftitemPrefab.GetComponent();
+ if (rt != null && prefabRt != null)
+ {
+ rt.sizeDelta = prefabRt.sizeDelta;
+ rt.anchorMin = prefabRt.anchorMin;
+ rt.anchorMax = prefabRt.anchorMax;
+ rt.pivot = prefabRt.pivot;
+ }
+ // 如果 prefab 有 LayoutElement,也复制
+ var prefabLE = levelGiftitemPrefab.GetComponent();
+ if (prefabLE != null)
+ {
+ var le = placeholder.AddComponent();
+ le.preferredWidth = prefabLE.preferredWidth;
+ le.preferredHeight = prefabLE.preferredHeight;
+ le.minWidth = prefabLE.minWidth;
+ le.minHeight = prefabLE.minHeight;
+ }
+ continue;
+ }
var item = Instantiate(levelGiftitemPrefab, levelGiftitemParent);
item.gameObject.SetActive(true);
@@ -146,16 +175,16 @@ public class ZhanLing_Panel : SubUIBase
Destroy(renWuItemParent.GetChild(i).gameObject);
// 示例任务(后续对接任务列表 API)
- CreateTaskItem(10, "每日登录", 1f, UIPanel.None);
- CreateTaskItem(20, "捕鱼10条", 0.5f, UIPanel.None);
- CreateTaskItem(30, "充值任意金额", 0f, UIPanel.None);
+ CreateTaskItem(10, 10, 20, "每日登录", 0.5f, UIPanel.None);
+ CreateTaskItem(20, 10, 20, "捕鱼10条", 0.5f, UIPanel.None);
+ CreateTaskItem(30, 0, 30, "充值任意金额", 0f, UIPanel.None);
}
- private void CreateTaskItem(int expCount, string label, float progress, UIPanel targetPanel)
+ private void CreateTaskItem(int expCount, int currJinDu, int maxJinDu, string label, float progress, UIPanel targetPanel)
{
var item = Instantiate(renWuItemPrefab, renWuItemParent);
item.gameObject.SetActive(true);
- item.Init(expCount, label, progress, targetPanel, uIManager);
+ item.Init(expCount, currJinDu, maxJinDu, label, progress, targetPanel, uIManager);
}
// ==================== 购买等级页面 ====================
@@ -220,11 +249,25 @@ public class ZhanLing_Panel : SubUIBase
if (levelsToBuy <= 0)
{
tmp_PriceNum.text = "已达成";
+ if (tmp_BuyLabel != null) tmp_BuyLabel.text = "";
btn_Buy.interactable = false;
}
else
{
+ // 计算从当前等级到目标等级所需总经验
+ int totalExp = 0;
+ if (_config?.levelConfig != null)
+ {
+ for (int lv = _userData.level + 1; lv <= _selectedBuyLevel; lv++)
+ {
+ var cfg = _config.levelConfig.Find(c => c.level == lv);
+ if (cfg != null) totalExp += cfg.exp;
+ }
+ }
+
tmp_PriceNum.text = $"{levelsToBuy * 100}钻石";
+ if (tmp_BuyLabel != null)
+ tmp_BuyLabel.text = $"购买 {totalExp} 点经验值升至 {_selectedBuyLevel} 级";
btn_Buy.interactable = true;
}
}