From df03c997716c6f5fbd4b87c01caef1d2e75165fc Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 九月 2025 18:50:56 +0800
Subject: [PATCH] 0312 武将培养界面升级属性飘字改用池子管理

---
 Main/System/HeroUI/HeroTrainWin.cs |   40 ++++++++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index 6a9dcb3..103d004 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -54,8 +54,8 @@
     [SerializeField] Text[] inheritAttrText;    //姝﹀皢浼氱户鎵跨殑灞炴��
     [SerializeField] RichText heroAddPerText; //涓诲叕锛堜笂闃碉級鍔犳垚鎻忚堪
     [SerializeField] Text[] heroAddAttrPerText; //涓诲叕锛堜笂闃碉級鍔犳垚
-    [SerializeField] Text[] addPerText;    //澧炲姞鐧惧垎姣旓紙椋樺姩锛�
-    [SerializeField] PositionTween addPerObject;
+    [SerializeField] Transform addPerParent;
+    [SerializeField] HeroTrainAddAttrCell addPerObject;
     [SerializeField] Image lvupMoneyIcon;
     [SerializeField] Text lvupMoneyText;
     [SerializeField] Text lvupBtnText;
@@ -92,6 +92,9 @@
     [SerializeField] Image redpointAwake;
     [SerializeField] Image redpointGift;
     [SerializeField] Image redpointLVUP;
+
+
+    Queue<HeroTrainAddAttrCell> lvupAttrQueue = new Queue<HeroTrainAddAttrCell>();
 
     string guid;
     HeroInfo hero;
@@ -457,15 +460,14 @@
                 GameNetSystem.Instance.SendInfo(pack);
                 //棰勬樉绀�
                 lvupEffect.Play();
-                addPerObject.SetActive(true);
-                for (int i = 0; i < addPerText.Length; i++)
-                {
-                    addPerText[i].text = "+" + PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], hero.qualityConfig.LVAddPer);
-                }
-                addPerObject.Play(() =>
-                {
-                    addPerObject.SetActive(false);
+                var cell = RequestCell();
+                cell.transform.localPosition = new Vector3(0, 0, 0);
+                cell.Display(hero.qualityConfig.LVAddPer, ()=>
+                { 
+                    cell.SetActive(false);
+                    ReturnCell(cell);
                 });
+
                 HeroUIManager.Instance.lastFightPower = new KeyValuePair<string, long>(hero.itemHero.guid, hero.CalculatePower(false));
             }
 
@@ -473,6 +475,24 @@
 
     }
 
+
+    HeroTrainAddAttrCell RequestCell()
+    {
+        
+        if (lvupAttrQueue.Count == 0)
+        {
+            return Instantiate(addPerObject, addPerParent);
+        }
+        return lvupAttrQueue.Dequeue();
+    }
+
+
+    void ReturnCell(HeroTrainAddAttrCell cell)
+    {
+        lvupAttrQueue.Enqueue(cell);
+    }
+
+
     void RefreshAllPotential()
     {
         if (!HeroBreakConfig.configDics.ContainsKey(hero.heroId))

--
Gitblit v1.8.0