From 0d226a53cc7a1b93ee6a494be5965c37f98310ae Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 十二月 2025 23:21:24 +0800
Subject: [PATCH] 0312 武将招募增加心愿符
---
Main/System/HappyXB/HeroCallHopeAddCell.cs | 71 +++++++++++++++++++++++++++++------
1 files changed, 58 insertions(+), 13 deletions(-)
diff --git a/Main/System/HappyXB/HeroCallHopeAddCell.cs b/Main/System/HappyXB/HeroCallHopeAddCell.cs
index 34ce3fa..8b00ede 100644
--- a/Main/System/HappyXB/HeroCallHopeAddCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeAddCell.cs
@@ -9,17 +9,62 @@
[SerializeField] Image notOpenImg;
[SerializeField] Image addImg;
[SerializeField] Button addBtn;
+ [SerializeField] Transform tipRect;
+ [SerializeField] Text freeText;
+ [SerializeField] Text itemCntText;
+ [SerializeField] Image itemIcon;
-
+ /// <summary>
+ /// 鏄剧ず蹇冩効閫夋嫨缁撴灉妗�
+ /// </summary>
+ /// <param name="quality">5 绁炶瘽 4 浼犲</param>
+ /// <param name="addAction">榛樿鎵撳紑蹇冩効鐣岄潰锛屽彲浼犲叆鐐瑰嚮娣诲姞鎸夐挳浜嬩欢 </param>
+ /// <param name="heroAction">榛樿鎵撳紑蹇冩効鐣岄潰锛屽彲浼犲叆鐐瑰嚮姝﹀皢澶村儚浜嬩欢</param>
+ /// <param name="changeHeroID">棰勮鑻遍泟ID锛�-1鍙栨秷棰勮</param>
public void Display(int quality, UnityAction<int> addAction = null, UnityAction<int> heroAction = null, int changeHeroID = 0)
{
var data = HappyXBModel.Instance.GetXBInfoByType((int)HappXBTitle.HeroCallAdvanced);
var config = TreasureSetConfig.Get((int)HappXBTitle.HeroCallAdvanced);
var needOpenCnt = config.WishOpen - data.treasureCount;
+ bool headGray = false;
+ int itemID = HappyXBModel.Instance.GetWishCardItemID(quality);
+ //蹇冩効鎶藉彇鎯呭喌 <LIBID锛氬凡鎶藉埌娆℃暟锛屾槸鍚﹀嬀閫夎嚜鍔紝褰撳墠蹇冩効ID>
+ var wishData = HappyXBModel.Instance.GetWishDataByQuality(quality);
+
+ if (wishData.wishCnt < HappyXBModel.wishMaxOutCnt)
+ {
+ tipRect.SetActive(true);
+ freeText.SetActive(true);
+ itemCntText?.SetActive(false);
+ headGray = false;
+ }
+ else if (wishData.auto && PackManager.Instance.GetItemCountByID(PackType.Item, itemID) > 0)
+ {
+ if (itemCntText == null)
+ {
+ tipRect.SetActive(false);
+ }
+ else
+ {
+ tipRect.SetActive(true);
+ freeText.SetActive(false);
+ itemCntText.SetActive(true);
+ itemIcon.SetItemSprite(itemID);
+ itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, 1, bright: false);
+ }
+ headGray = false;
+ }
+ else
+ {
+ tipRect.SetActive(false);
+ headGray = true;
+ }
+
int wishID = 0;
+ bool auto = false;
int wishCnt = 0;
int heroID = 0;
if (needOpenCnt <= 0)
@@ -27,17 +72,17 @@
notOpenImg.SetActive(false);
- if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out wishID, out wishCnt))
+ if (HappyXBModel.Instance.TryGetHeroWishIDByQuality((int)HappXBTitle.HeroCallAdvanced, quality, out wishID, out wishCnt, out auto))
{
if (heroAction == null)
{
heroAction = (quality) =>
{
- if (HappyXBModel.Instance.IsTodayWishFinish())
- {
- SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
- return;
- }
+ // if (HappyXBModel.Instance.IsTodayWishFinish())
+ // {
+ // SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
+ // return;
+ // }
UIManager.Instance.OpenWindow<HeroCallHopeWin>(quality == 4 ? 1 : 0);
};
@@ -60,7 +105,7 @@
{
head.SetActive(true);
addImg.SetActive(false);
- head.Init(heroID, wishCnt >= HappyXBModel.wishMaxOutCnt, ()=> { heroAction.Invoke(quality); });
+ head.Init(heroID, headGray, ()=> { heroAction.Invoke(quality); });
}
else
{
@@ -84,11 +129,11 @@
{
if (needOpenCnt <= 0)
{
- if (HappyXBModel.Instance.IsTodayWishFinish())
- {
- SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
- return;
- }
+ // if (HappyXBModel.Instance.IsTodayWishFinish())
+ // {
+ // SysNotifyMgr.Instance.ShowTip("HeroWishFinish");
+ // return;
+ // }
UIManager.Instance.OpenWindow<HeroCallHopeWin>(quality == 4 ? 1 : 0);
return;
}
--
Gitblit v1.8.0