From 9787220eb7ee09619720ce26a58a42ce8a6a5c31 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 17 十二月 2025 10:37:30 +0800
Subject: [PATCH] 390 【武将】招募心愿设置 - 再次点击取消

---
 Main/System/HappyXB/HeroCallHopeWin.cs        |   68 +++++++++++++++++++++++++++++++--
 Main/System/HappyXB/HeroCallHopeAddCell.cs    |    5 ++
 Main/System/HappyXB/HappyXBModel.Hero.cs      |    4 +-
 Main/System/HappyXB/HeroCallHopeSelectCell.cs |   20 +++++++++-
 4 files changed, 88 insertions(+), 9 deletions(-)

diff --git a/Main/System/HappyXB/HappyXBModel.Hero.cs b/Main/System/HappyXB/HappyXBModel.Hero.cs
index a3affa4..de0b77c 100644
--- a/Main/System/HappyXB/HappyXBModel.Hero.cs
+++ b/Main/System/HappyXB/HappyXBModel.Hero.cs
@@ -17,8 +17,8 @@
     public int selectWishQuality = 5; //蹇冩効閫変腑鐨勫搧璐�
 
 
-    public int selectSHHeroWishID = 0;  //蹇冩効閫変腑鐨勭璇濇灏嗗績鎰縄D 瀹㈡埛绔�
-    public int selectCSHeroWishID = 0;  //蹇冩効閫変腑鐨勪紶璇存灏嗗績鎰縄D 瀹㈡埛绔�
+    public int selectSHHeroWishID = 0;  //蹇冩効閫変腑鐨勭璇濇灏嗗績鎰縄D 瀹㈡埛绔�  -1浠h〃鍙栨秷
+    public int selectCSHeroWishID = 0;  //蹇冩効閫変腑鐨勪紶璇存灏嗗績鎰縄D 瀹㈡埛绔�  -1浠h〃鍙栨秷
 
     public Action OnSelectWishHeroEvent;
 
diff --git a/Main/System/HappyXB/HeroCallHopeAddCell.cs b/Main/System/HappyXB/HeroCallHopeAddCell.cs
index f6eb8b7..34ce3fa 100644
--- a/Main/System/HappyXB/HeroCallHopeAddCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeAddCell.cs
@@ -51,6 +51,11 @@
                 //棰勮
                 heroID = changeHeroID;
             }
+            else if (changeHeroID == -1)
+            {
+                //鍙栨秷棰勮
+                heroID = 0;
+            }
             if (heroID > 0)
             {
                 head.SetActive(true);
diff --git a/Main/System/HappyXB/HeroCallHopeSelectCell.cs b/Main/System/HappyXB/HeroCallHopeSelectCell.cs
index 96e04ff..c348372 100644
--- a/Main/System/HappyXB/HeroCallHopeSelectCell.cs
+++ b/Main/System/HappyXB/HeroCallHopeSelectCell.cs
@@ -46,13 +46,29 @@
                 }
             }
 
+            //-1浠h〃鍙栨秷
+
             if (HappyXBModel.Instance.selectWishListTab == 0)
             {
-                HappyXBModel.Instance.selectSHHeroWishID = wishID;
+                if (HappyXBModel.Instance.selectSHHeroWishID == wishID)
+                {
+                    HappyXBModel.Instance.selectSHHeroWishID = -1;
+                }
+                else
+                {
+                    HappyXBModel.Instance.selectSHHeroWishID = wishID;
+                }
             }
             else
             {
-                HappyXBModel.Instance.selectCSHeroWishID = wishID;
+                if (HappyXBModel.Instance.selectCSHeroWishID == wishID)
+                {
+                    HappyXBModel.Instance.selectCSHeroWishID = -1;
+                }
+                else
+                {
+                    HappyXBModel.Instance.selectCSHeroWishID = wishID;
+                }
             }
             HappyXBModel.Instance.OnSelectWishHeroEvent?.Invoke();
         });
diff --git a/Main/System/HappyXB/HeroCallHopeWin.cs b/Main/System/HappyXB/HeroCallHopeWin.cs
index b3f81d7..55a5035 100644
--- a/Main/System/HappyXB/HeroCallHopeWin.cs
+++ b/Main/System/HappyXB/HeroCallHopeWin.cs
@@ -1,3 +1,4 @@
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -65,8 +66,36 @@
 
     void Display()
     {
-        shHero.Display(5, AddHero, ShowHeroTip, HappyXBModel.Instance.selectSHHeroWishID == 0 ? 0 : TreasureItemLibConfig.Get(HappyXBModel.Instance.selectSHHeroWishID).ItemID);
-        csHero.Display(4, AddHero, ShowHeroTip, HappyXBModel.Instance.selectCSHeroWishID == 0 ? 0 : TreasureItemLibConfig.Get(HappyXBModel.Instance.selectCSHeroWishID).ItemID);
+        int shHeroID = 0;
+        if (HappyXBModel.Instance.selectSHHeroWishID == -1)
+        {
+            shHeroID = -1;
+        }
+        else if (HappyXBModel.Instance.selectSHHeroWishID == 0)
+        {
+            shHeroID = 0;
+        }
+        else
+        {
+            shHeroID = TreasureItemLibConfig.Get(HappyXBModel.Instance.selectSHHeroWishID).ItemID;
+        }
+
+        int csHeroID = 0;
+        if (HappyXBModel.Instance.selectCSHeroWishID == -1)
+        {
+            csHeroID = -1;
+        }
+        else if (HappyXBModel.Instance.selectCSHeroWishID == 0)
+        {
+            csHeroID = 0;
+        }
+        else
+        {
+            csHeroID = TreasureItemLibConfig.Get(HappyXBModel.Instance.selectCSHeroWishID).ItemID;
+        }
+
+        shHero.Display(5, AddHero, ShowHeroTip, shHeroID);
+        csHero.Display(4, AddHero, ShowHeroTip, csHeroID);
 
         CreateScroller();
 
@@ -126,8 +155,36 @@
 
     void OnSelectWishHeroEvent()
     {
-        shHero.Display(5, AddHero, ShowHeroTip, HappyXBModel.Instance.selectSHHeroWishID == 0 ? 0 : TreasureItemLibConfig.Get(HappyXBModel.Instance.selectSHHeroWishID).ItemID);
-        csHero.Display(4, AddHero, ShowHeroTip, HappyXBModel.Instance.selectCSHeroWishID == 0 ? 0 : TreasureItemLibConfig.Get(HappyXBModel.Instance.selectCSHeroWishID).ItemID);
+        int shHeroID = 0;
+        if (HappyXBModel.Instance.selectSHHeroWishID == -1)
+        {
+            shHeroID = -1;
+        }
+        else if (HappyXBModel.Instance.selectSHHeroWishID == 0)
+        {
+            shHeroID = 0;
+        }
+        else
+        {
+            shHeroID = TreasureItemLibConfig.Get(HappyXBModel.Instance.selectSHHeroWishID).ItemID;
+        }
+
+        int csHeroID = 0;
+        if (HappyXBModel.Instance.selectCSHeroWishID == -1)
+        {
+            csHeroID = -1;
+        }
+        else if (HappyXBModel.Instance.selectCSHeroWishID == 0)
+        {
+            csHeroID = 0;
+        }
+        else
+        {
+            csHeroID = TreasureItemLibConfig.Get(HappyXBModel.Instance.selectCSHeroWishID).ItemID;
+        }
+
+        shHero.Display(5, AddHero, ShowHeroTip, shHeroID);
+        csHero.Display(4, AddHero, ShowHeroTip, csHeroID);
         scroller.m_Scorller.RefreshActiveCellViews();
     }
 
@@ -142,7 +199,8 @@
         var pack = new CA569_tagCSTreasureWishSelect();
         pack.TreasureType = (int)HappXBTitle.HeroCallAdvanced;
 
-        pack.WishIDList = new uint[] { (uint)HappyXBModel.Instance.selectSHHeroWishID, (uint)HappyXBModel.Instance.selectCSHeroWishID };
+        
+        pack.WishIDList = new uint[] { (uint)Math.Max(0, HappyXBModel.Instance.selectSHHeroWishID), (uint)Math.Max(0, HappyXBModel.Instance.selectCSHeroWishID) };
         pack.WishCnt = 2;
         GameNetSystem.Instance.SendInfo(pack);
         CloseWindow();

--
Gitblit v1.8.0