From 9fbfcecb2b1529b9416ec15095061bc4fcabaee7 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 13 三月 2025 16:52:31 +0800
Subject: [PATCH] 0312 仙盟镇妖奖励批量领取,阵法材料批量提交

---
 System/FairyAu/FairyBossHurtCell.cs |   40 +++++++++++++++++---
 System/FairyAu/FairyNewModel.cs     |    2 
 System/FairyAu/FamilyZhenfaWin.cs   |   23 ++---------
 3 files changed, 40 insertions(+), 25 deletions(-)

diff --git a/System/FairyAu/FairyBossHurtCell.cs b/System/FairyAu/FairyBossHurtCell.cs
index 5547268..53dafd5 100644
--- a/System/FairyAu/FairyBossHurtCell.cs
+++ b/System/FairyAu/FairyBossHurtCell.cs
@@ -5,6 +5,7 @@
 using System;
 using UnityEngine.UI;
 using LitJson;
+using System.Linq;
 
 namespace vnxbqy.UI
 {
@@ -56,14 +57,41 @@
             m_GetBtn.interactable = state == 1;
             m_GetBtn.AddListener(() => {
 
-                var send = new CA504_tagCMPlayerGetReward();
-                send.RewardType = 63;
-                send.DataEx = (byte)awardType;
-                send.DataExStr = awardIndex.ToString();
-                send.DataExStrLen = (byte)awardIndex.ToString().Length;
-                GameNetSystem.Instance.SendInfo(send);
+                //鏀规垚鍗忕▼澶勭悊锛岄棿闅�50姣棰嗗彇涓�娆�
+                SnxxzGame.Instance.StartCoroutine(GetAward());
             });
         }
+
+        //鏀规垚鍗忕▼澶勭悊锛岄棿闅�50姣棰嗗彇涓�娆�
+        IEnumerator GetAward()
+        {
+            var awardType = index / 1000;
+            //鏀规垚鎵归噺棰嗗彇
+            List<int> keys = new List<int>();
+            if (awardType == 1)
+            {
+                keys = FamilyBossHurtAwardConfig.personalHurtAwards.Keys.ToList();
+            }
+            else
+            {
+                keys = FamilyBossHurtAwardConfig.familyHurtAwards.Keys.ToList();
+            }
+
+            for (int i = 0; i < keys.Count; i++)
+            {
+                if (fairyBossModel.GetAwardState(keys[i]) == 1)
+                {
+                    var send = new CA504_tagCMPlayerGetReward();
+                    send.RewardType = 63;
+                    send.DataEx = (byte)awardType;
+                    send.DataExStr = (keys[i] % 1000).ToString();
+                    send.DataExStrLen = (byte)send.DataExStr.Length;
+                    GameNetSystem.Instance.SendInfo(send);
+                    yield return new WaitForSeconds(0.05f);
+                }
+            }
+        }
+
     }
 }
 
diff --git a/System/FairyAu/FairyNewModel.cs b/System/FairyAu/FairyNewModel.cs
index 10251db..609d27d 100644
--- a/System/FairyAu/FairyNewModel.cs
+++ b/System/FairyAu/FairyNewModel.cs
@@ -350,7 +350,7 @@
             {
                 for (int i = 0; i < useItemsDict[type].Count; i++)
                 {
-                    if (packModel.GetItemCountByID(PackType.Item, useItemsDict[type][i]) > 0)
+                    if (packModel.GetItemCountByID(PackType.Item, useItemsDict[type][i]) > 0 && GetNextAttrsByType(type).Count > 0)
                     {
                         zhanfaredpoints[type - 1].state = RedPointState.Simple;
                         continue;
diff --git a/System/FairyAu/FamilyZhenfaWin.cs b/System/FairyAu/FamilyZhenfaWin.cs
index cef0a9f..e07e725 100644
--- a/System/FairyAu/FamilyZhenfaWin.cs
+++ b/System/FairyAu/FamilyZhenfaWin.cs
@@ -23,22 +23,21 @@
         [SerializeField] Text processTxt;
         [SerializeField] Text lvTxt;
         [SerializeField] Button upgradeBtn;
-        [SerializeField] ToggleButton tenUpgrade;
         [SerializeField] Transform operationObj;
         [SerializeField] Transform maxObj;
         FairyNewModel familyModel { get { return ModelCenter.Instance.GetModel<FairyNewModel>(); } }
         PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
 
+        int maxCnt = 65000;
+
         protected override void BindController()
         {
-            tenUpgrade.isOn = false;
         }
 
         protected override void AddListeners()
         {
 
             close.AddListener(CloseClick);
-            tenUpgrade.SetListener(ChooseTen);
             for (int i = 0; i < zhenyanBtns.Count; i++)
             {
                 int index = i;
@@ -86,19 +85,7 @@
             Display();
         }
 
-        private void ChooseTen()
-        {
-            tenUpgrade.isOn = !tenUpgrade.isOn;
-            int lv = familyModel.GetZhenyanLV(familyModel.selectZhenfaType + 1);
-            int exp = familyModel.GetZhenyanExp(familyModel.selectZhenfaType + 1);
-            int needExp = FamilyZhenfaConfig.GetConfig(familyModel.selectZhenfaType + 1, lv).LVUpNeedExp;
 
-            int selectItemID = familyModel.useItemsDict[familyModel.selectZhenfaType + 1][familyModel.selectItemIndex];
-            var itemCount = packModel.GetItemCountByID(PackType.Item, selectItemID);
-            itemCount = tenUpgrade.isOn ? Mathf.Min(10, itemCount) : Mathf.Min(itemCount, 1);
-            int addExp = ItemConfig.Get(selectItemID).EffectValueA1 * itemCount;
-            processTxt.text = string.Format("{0}/{1} +{2}", exp, needExp, UIHelper.AppendColor(TextColType.Green, addExp.ToString()));
-        }
 
         void Display()
         {
@@ -193,7 +180,7 @@
 
                 int selectItemID = familyModel.useItemsDict[familyModel.selectZhenfaType + 1][familyModel.selectItemIndex];
                 var itemCount = packModel.GetItemCountByID(PackType.Item, selectItemID);
-                itemCount = tenUpgrade.isOn ? Mathf.Min(10, itemCount) : Mathf.Min(itemCount, 1);
+                itemCount = Mathf.Min(maxCnt, itemCount);
                 int addExp = ItemConfig.Get(selectItemID).EffectValueA1 * itemCount;
                 processTxt.text = string.Format("{0}/{1} +{2}", exp, needExp, UIHelper.AppendColor(TextColType.Green, addExp.ToString()));
                 lvTxt.text = lv.ToString();
@@ -225,7 +212,7 @@
 
                                 int selectItemID1 = familyModel.useItemsDict[familyModel.selectZhenfaType + 1][familyModel.selectItemIndex];
                                 var itemCount1 = packModel.GetItemCountByID(PackType.Item, selectItemID1);
-                                itemCount1 = tenUpgrade.isOn ? Mathf.Min(10, itemCount1) : Mathf.Min(itemCount1, 1);
+                                itemCount1 = Mathf.Min(maxCnt, itemCount1);
                                 int addExp1 = ItemConfig.Get(selectItemID1).EffectValueA1 * itemCount1;
                                 processTxt.text = string.Format("{0}/{1} +{2}", exp, needExp, UIHelper.AppendColor(TextColType.Green, addExp1.ToString()));
 
@@ -257,7 +244,7 @@
                 SysNotifyMgr.Instance.ShowTip("NotEnoughMaterial");
                 return;
             }
-            pack.ItemCount = tenUpgrade.isOn ? (ushort)Mathf.Min(10, itemCount) : (ushort)1;
+            pack.ItemCount = (ushort)Mathf.Min(maxCnt, itemCount);
             GameNetSystem.Instance.SendInfo(pack);
         }
     }

--
Gitblit v1.8.0