From f28b2dd275d6d987e151f3b8ce4f1b5ce398e07a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 30 十二月 2025 15:49:17 +0800
Subject: [PATCH] 121 【武将】心愿符未选择弹框提示,图标次数显示优化
---
Main/System/HappyXB/HeroCallHopeAddCell.cs | 18 ++++++--
Main/System/HappyXB/HeroCallWin.cs | 14 +++++--
Main/System/HappyXB/HappyXBModel.Hero.cs | 36 ++++++++++++++++++
Main/System/BoneField/AdsManager.cs | 9 +++-
Main/System/HappyXB/HappyXBModel.cs | 3 +
Main/System/HappyXB/HeroCallResultWin.cs | 13 +++++-
Main/System/HappyXB/HeroCallHopeSelectCell.cs | 18 ++++----
7 files changed, 86 insertions(+), 25 deletions(-)
diff --git a/Main/System/BoneField/AdsManager.cs b/Main/System/BoneField/AdsManager.cs
index fa678ec..eee2937 100644
--- a/Main/System/BoneField/AdsManager.cs
+++ b/Main/System/BoneField/AdsManager.cs
@@ -47,9 +47,12 @@
break;
case 3:
//瀵诲疂绫诲瀷
- HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
- HeroUIManager.Instance.selectCallIndex = 0;
- SendGetReward(ADID);
+ HappyXBModel.Instance.HeroCallAfterCheckWish(() =>
+ {
+ HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
+ HeroUIManager.Instance.selectCallIndex = 0;
+ SendGetReward(ADID);
+ });
break;
case 4:
case 6:
diff --git a/Main/System/HappyXB/HappyXBModel.Hero.cs b/Main/System/HappyXB/HappyXBModel.Hero.cs
index ddf46d3..7ad631a 100644
--- a/Main/System/HappyXB/HappyXBModel.Hero.cs
+++ b/Main/System/HappyXB/HappyXBModel.Hero.cs
@@ -4,6 +4,7 @@
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
+using UnityEngine.Events;
//姝﹀皢鐩稿叧鎷涘嫙
public partial class HappyXBModel : GameSystemManager<HappyXBModel>
@@ -138,4 +139,39 @@
}
return TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced).WishLibCard[libID];
}
+
+ bool checkWish = false; //鏄惁鍕鹃�夎繃蹇冩効纭
+ //鏈�夋嫨浠讳綍蹇冩効姝﹀皢涓旀湁浠讳竴鍏嶈垂娆℃暟锛屽垯寮圭獥鎻愮ず
+ public void HeroCallAfterCheckWish(UnityAction _action)
+ {
+ if (checkWish)
+ {
+ _action?.Invoke();
+ return;
+ }
+ if (selectSHHeroWishID <= 0 && selectCSHeroWishID <= 0)
+ {
+ var shdata = GetWishDataByQuality(5);
+ var csdata = GetWishDataByQuality(4);
+ if ((shdata != null && shdata.wishCnt == 0) || (csdata != null && csdata.wishCnt == 0))
+ {
+ ConfirmCancel.ToggleConfirmCancel(Language.Get("Mail101"), Language.Get("HeroCall14"), Language.Get("TianziBillborad08"), (bool isOk, bool isToggle) =>
+ {
+ if (isOk)
+ {
+ UIManager.Instance.OpenWindow<HeroCallHopeWin>();
+ }
+ else
+ {
+ _action?.Invoke();
+ }
+ checkWish = isToggle;
+ });
+
+ return;
+ }
+ }
+
+ _action?.Invoke();
+ }
}
diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs
index 5d1ff52..540229f 100644
--- a/Main/System/HappyXB/HappyXBModel.cs
+++ b/Main/System/HappyXB/HappyXBModel.cs
@@ -45,7 +45,7 @@
public override void Init()
{
- DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
PackManager.Instance.RefreshItemEvent += RefreshXBTool;
TimeMgr.Instance.OnDayEvent += OnDayEvent;
@@ -93,6 +93,7 @@
{
isXBCoolTime = false;
xbTypeInfoDict.Clear();
+ checkWish = false;
}
void OnPlayerLoginOk()
diff --git a/Main/System/HappyXB/HeroCallHopeAddCell.cs b/Main/System/HappyXB/HeroCallHopeAddCell.cs
index 8b00ede..1a2f5f7 100644
--- a/Main/System/HappyXB/HeroCallHopeAddCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeAddCell.cs
@@ -35,12 +35,20 @@
if (wishData.wishCnt < HappyXBModel.wishMaxOutCnt)
{
- tipRect.SetActive(true);
- freeText.SetActive(true);
- itemCntText?.SetActive(false);
+ if (wishData == null || wishData.wishID == 0)
+ {
+ tipRect.SetActive(false);
+ }
+ else
+ {
+ tipRect.SetActive(true);
+ freeText.SetActive(true);
+ itemCntText?.SetActive(false);
+
+ }
headGray = false;
}
- else if (wishData.auto && PackManager.Instance.GetItemCountByID(PackType.Item, itemID) > 0)
+ else if (wishData.auto)
{
if (itemCntText == null)
{
@@ -54,7 +62,7 @@
itemIcon.SetItemSprite(itemID);
itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, 1, bright: false);
}
- headGray = false;
+ headGray = PackManager.Instance.GetItemCountByID(PackType.Item, itemID) <= 0;
}
else
{
diff --git a/Main/System/HappyXB/HeroCallHopeSelectCell.cs b/Main/System/HappyXB/HeroCallHopeSelectCell.cs
index f40e639..5b04c03 100644
--- a/Main/System/HappyXB/HeroCallHopeSelectCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeSelectCell.cs
@@ -36,15 +36,15 @@
SysNotifyMgr.Instance.ShowTip("HeroWishUnLock");
return;
}
- int quality = HappyXBModel.Instance.selectWishListTab == 0 ? 5 : 4;
- if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out int _wishID, out int _wishCnt, out bool auto))
- {
- if (_wishCnt >= HappyXBModel.wishMaxOutCnt)
- {
- SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
- return;
- }
- }
+ // int quality = HappyXBModel.Instance.selectWishListTab == 0 ? 5 : 4;
+ // if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out int _wishID, out int _wishCnt, out bool auto))
+ // {
+ // if (_wishCnt >= HappyXBModel.wishMaxOutCnt)
+ // {
+ // SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
+ // return;
+ // }
+ // }
//-1浠h〃鍙栨秷
diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index 5ca0883..f29f37f 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -68,11 +68,18 @@
{
okBtn.AddListener(CloseWindow);
- call1Btn.AddListener(SendHeroCall);
+ call1Btn.AddListener(()=>
+ {
+ HappyXBModel.Instance.HeroCallAfterCheckWish(SendHeroCall);
+ });
call10Btn.AddListener(() =>
{
- HeroUIManager.Instance.selectCallIndex = 1;
- HappyXBModel.Instance.SendXBManyQuest((int)HeroUIManager.Instance.selectCallType);
+ HappyXBModel.Instance.HeroCallAfterCheckWish(() =>
+ {
+ HeroUIManager.Instance.selectCallIndex = 1;
+ HappyXBModel.Instance.SendXBManyQuest((int)HeroUIManager.Instance.selectCallType);
+ });
+
});
showNextlhOrCloseBtn.AddListener(()=>
{
diff --git a/Main/System/HappyXB/HeroCallWin.cs b/Main/System/HappyXB/HeroCallWin.cs
index f93f84d..b304110 100644
--- a/Main/System/HappyXB/HeroCallWin.cs
+++ b/Main/System/HappyXB/HeroCallWin.cs
@@ -42,12 +42,18 @@
LocalSave.SetBool(HeroUIManager.skipKey + PlayerDatas.Instance.baseData.PlayerID, value);
});
ownItemCell.itemID = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced).CostItemID;
- call1Btn.AddListener(SendHeroCall);
+ call1Btn.AddListener(()=>
+ {
+ HappyXBModel.Instance.HeroCallAfterCheckWish(SendHeroCall);
+ });
call10Btn.AddListener(() =>
{
- HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
- HeroUIManager.Instance.selectCallIndex = 1;
- HappyXBModel.Instance.SendXBManyQuest((int)HappXBTitle.HeroCallAdvanced);
+ HappyXBModel.Instance.HeroCallAfterCheckWish(() =>
+ {
+ HeroUIManager.Instance.selectCallType = HappXBTitle.HeroCallAdvanced;
+ HeroUIManager.Instance.selectCallIndex = 1;
+ HappyXBModel.Instance.SendXBManyQuest((int)HappXBTitle.HeroCallAdvanced);
+ });
});
scoreBtn.AddListener(() =>
{
--
Gitblit v1.8.0