From 81a6da4df745f8ed5e4fb45fe54421eda792bf35 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 13 十一月 2025 13:10:40 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Equip/EquipModel.cs                    |   32 +++
 Main/System/Recharge/RechargeDJQCell.cs.meta       |   11 +
 Main/System/Recharge/RechargeGoldLineCell.cs.meta  |   11 +
 Main/System/Recharge/RechargeManager.UI.cs.meta    |   11 +
 Main/System/Recharge/RechargeDJQLineCell.cs.meta   |   11 +
 Main/System/Recharge/RechargeManager.UI.cs         |   24 ++
 Main/System/Recharge/RechargeDJQLineCell.cs        |   27 +++
 Main/System/Recharge/RechargeGoldLineCell.cs       |   27 +++
 Main/System/Equip/FloorItemCell.cs                 |    6 
 Main/System/Battle/BattleField/StoryBattleField.cs |    2 
 Main/System/Guild/GuildJoinWin.cs                  |    2 
 Main/System/Recharge/RechargeWin.cs                |  133 ++++++++++++++
 Main/System/Recharge/RechargeGoldCell.cs           |   45 +++++
 Main/System/Main/FunctionsBaseWin.cs               |   10 +
 Main/System/Recharge/RechargeManager.cs            |    2 
 Main/System/Recharge/RechargeDJQCell.cs            |   40 ++++
 Main/System/Equip/ItemsOnFloor.cs                  |    2 
 Main/System/Recharge/RechargeGoldCell.cs.meta      |   11 +
 Main/System/Scroll/ScrollerController.cs           |    2 
 Main/System/ItemTip/OwnMoneyCell.cs                |   37 +++
 Main/System/Recharge/RechargeWin.cs.meta           |   11 +
 Main/System/Store/StoreBaseWin.cs                  |    2 
 Main/System/NewBieGuidance/NewBieCenter.cs         |   28 --
 Main/System/NewBieGuidance/NewBieWin.cs            |    1 
 24 files changed, 453 insertions(+), 35 deletions(-)

diff --git a/Main/System/Battle/BattleField/StoryBattleField.cs b/Main/System/Battle/BattleField/StoryBattleField.cs
index f4279e7..0a8440f 100644
--- a/Main/System/Battle/BattleField/StoryBattleField.cs
+++ b/Main/System/Battle/BattleField/StoryBattleField.cs
@@ -323,7 +323,7 @@
     //鏆傚仠鐨勫師鍥犳湁寰堝锛岄渶瑕佹鏌ュ悇绉嶇姸鎬�
     protected override bool CanResumeGame()
     {
-        if (NewBieCenter.Instance.IsPauseStoryBattleState())
+        if (NewBieCenter.Instance.IsNeedRecord(NewBieCenter.Instance.currentGuide))
         {
             return false;
         }
diff --git a/Main/System/Equip/EquipModel.cs b/Main/System/Equip/EquipModel.cs
index fbb4b5f..3529a53 100644
--- a/Main/System/Equip/EquipModel.cs
+++ b/Main/System/Equip/EquipModel.cs
@@ -10,6 +10,7 @@
 {
     public const int TotleEquip = 12;  //瑁呭鏍忓ぇ灏�
     public bool waitEquipOPPack = false;    // 绌挎埓瑁呭鐨勬搷浣� 涓嶅惈鍒嗚В
+    public float waitEquipOPTime = 0;    
     public event Action<bool, int> OnEquipOPResultAction;    //鏄惁鎹笂浜嗘柊瑁呭涓斿垎瑙d簡 瑁呭绱㈠紩
     public event Action<BattleDrops> OnItemDropEvent;
 
@@ -36,6 +37,7 @@
         EventBroadcast.Instance.AddListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent);
         EventBroadcast.Instance.AddListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
         EventBroadcast.Instance.AddListener<string>(EventName.RECORDPLAYER_END, RecordPlayerEnd);
+        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
         ParseConfig();
     }
 
@@ -46,6 +48,7 @@
         EventBroadcast.Instance.RemoveListener<string, BattleDrops, Action>(EventName.BATTLE_DROP_ITEMS, OnDropEvent);
         EventBroadcast.Instance.RemoveListener<string, SkillConfig, TeamHero>(EventName.BATTLE_CAST_SKILL, OnSkillCast);
         EventBroadcast.Instance.RemoveListener<string>(EventName.RECORDPLAYER_END, RecordPlayerEnd);
+        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
     }
 
 
@@ -191,6 +194,16 @@
         }
     }
 
+
+    void OnSecondEvent()
+    {
+        if (waitEquipOPPack && Time.time - waitEquipOPTime > 2)
+        {
+            //閬垮厤瑁呭鍗℃鏃犳硶缁х画涓荤嚎
+            waitEquipOPPack = false;
+        }
+    }
+
     private void OnEquipResult(HA814_tagMCMakeItemAnswer info)
     {
         if (info.MakeType != (int)MakeType.EquipOP)
@@ -199,7 +212,10 @@
             return;
 
         if (info.MakeValue == 2)
+        {
             waitEquipOPPack = false;
+            Debug.LogWarning("绌挎埓瑁呭锛屾湇鍔″櫒鍝嶅簲瑙i櫎绛夊緟鐘舵��");
+        }
         bool isDone = false;    // 鎹笂鏂拌澶囦笖鍒嗚В浜嗘棫瑁呭
         //閫変腑鐨勫湴鏉胯澶囪繘琛屽鐞嗭紝鏇挎崲杩樻槸鎵句笅涓�浠讹紝妫�鏌nEquipOPResultAction
         if (selectFloorEquip != null)
@@ -259,7 +275,11 @@
         pack.OPValue = (byte)(autoDecompose ? 1 : 0); // 鏇挎崲鍚庢槸鍚﹁嚜鍔ㄥ垎瑙e師瑁呭锛�0鍚�1鏄�
 
         if (opType == 2)
+        {
             waitEquipOPPack = true;
+            waitEquipOPTime = Time.time;
+            Debug.LogWarning("绌挎埓瑁呭锛屽悜鏈嶅姟鍣ㄨ姹�");
+        }
         GameNetSystem.Instance.SendInfo(pack);
     }
 
@@ -310,7 +330,10 @@
             return false;
 
         if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
+        {
+            Debug.LogWarning("OpenEquipExchangeWin: 鏈櫥褰�");
             return false;
+        }
 
         // if (!IsEquip(equip))
         //     return false;
@@ -325,7 +348,10 @@
         waitEquipOP.Enqueue(equip.gridIndex);
         //鏈洖澶嶈澶囨搷浣滅粨鏋滐紝鍚﹀垯浼氭樉绀烘棫瑁呭
         if (waitEquipOPPack)
+        {
+            Debug.LogError("OpenEquipExchangeWin: 绛夊緟鏈嶅姟鍣ㄥ搷搴�");
             return false;
+        }
 
 
         if (UIManager.Instance.IsOpened<EquipExchangeWin>())
@@ -351,11 +377,17 @@
 
         // 鏂版墜寮曞涓紝涓嶅厑璁稿垏鎹㈣澶囩晫闈�
         if (NewBieCenter.Instance.inGuiding)
+        {
+            Debug.LogWarning("GetSelectFloorEquip: 鏂版墜寮曞涓紝涓嶅厑璁稿垏鎹㈣澶囩晫闈�");
             return null;
+        }
 
         string activeBattleName = BattleManager.Instance.GetActiveBattleName();
         if (activeBattleName != "" && activeBattleName != "StoryBattleField")
+        {
+            Debug.LogWarning("闈炰富绾挎垬鏂椾笉寮圭獥");
             return null;
+        }
 
 
         return PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue());
diff --git a/Main/System/Equip/FloorItemCell.cs b/Main/System/Equip/FloorItemCell.cs
index 5ce10d2..b3cfa52d 100644
--- a/Main/System/Equip/FloorItemCell.cs
+++ b/Main/System/Equip/FloorItemCell.cs
@@ -22,7 +22,7 @@
     /// </summary>
     /// <param name="index">鎺夎惤鑳屽寘绱㈠紩</param>
     /// <param name="isAnimate">鏄惁鎾斁鎺夎惤鍔ㄧ敾</param>
-    public async UniTask Display(int index, bool isAnimate, RectTransform rect)
+    public async UniTask Display(int index, bool isAnimate, Vector3 position)
     {
         await UniTask.Delay(300);
         itemIndex = index;
@@ -48,8 +48,8 @@
             uieff.Play();
         }
 
-       
-        this.transform.position = rect.position;
+
+        this.transform.position = position;
         startPos = new Vector2(transform.localPosition.x + UnityEngine.Random.Range(-30, 30), transform.localPosition.y + UnityEngine.Random.Range(50, 100));
         if (isAnimate)
         {
diff --git a/Main/System/Equip/ItemsOnFloor.cs b/Main/System/Equip/ItemsOnFloor.cs
index 038d2d8..17759ee 100644
--- a/Main/System/Equip/ItemsOnFloor.cs
+++ b/Main/System/Equip/ItemsOnFloor.cs
@@ -141,7 +141,7 @@
                 continue;
             }
 
-            item.Display(i, isAnimate, rect == null ? defaultDropRect : rect);
+            item.Display(i, isAnimate, rect == null ? defaultDropRect.position : rect.position).Forget();
         }
     }
 
diff --git a/Main/System/Guild/GuildJoinWin.cs b/Main/System/Guild/GuildJoinWin.cs
index 1d1be7d..ce028c5 100644
--- a/Main/System/Guild/GuildJoinWin.cs
+++ b/Main/System/Guild/GuildJoinWin.cs
@@ -76,7 +76,7 @@
         noGuildTf.SetActive(false);
         guildListScroller.SetActive(true);
 
-        var startCount = guildListScroller.GetNumberOfCells();
+        var startCount = guildListScroller.GetCellTotalCount();
         if (startCount > GuildManager.Instance.pageIndexList.Count)
         {
             guildListScroller.Refresh();
diff --git a/Main/System/ItemTip/OwnMoneyCell.cs b/Main/System/ItemTip/OwnMoneyCell.cs
index 0369a9b..6b3daa7 100644
--- a/Main/System/ItemTip/OwnMoneyCell.cs
+++ b/Main/System/ItemTip/OwnMoneyCell.cs
@@ -20,11 +20,38 @@
             {
                 switch (moneyType)
                 {
-                    // case 1:
-                    //     {
-                    //         //UIManager.Instance.OpenWindow<RechargeWin>();
-                    //     }
-                    //     break;
+                    case 1:
+                        {
+                            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true))
+                            {
+                                RechargeManager.Instance.selectTabIndex = 1;
+                                if (UIManager.Instance.IsOpened<StoreBaseWin>())
+                                {
+                                    UIManager.Instance.GetUI<StoreBaseWin>().ClickFuncBtn(1);
+                                }
+                                else
+                                {
+                                    UIManager.Instance.OpenWindow<StoreBaseWin>(1);
+                                }
+                            }
+                        }
+                        break;
+                    case 99:
+                        {
+                            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true))
+                            {
+                                RechargeManager.Instance.selectTabIndex = 0;
+                                if (UIManager.Instance.IsOpened<StoreBaseWin>())
+                                {
+                                    UIManager.Instance.GetUI<StoreBaseWin>().ClickFuncBtn(1);
+                                }
+                                else
+                                {
+                                    UIManager.Instance.OpenWindow<StoreBaseWin>(1);
+                                }
+                            }
+                        }
+                        break;
                     default:
                         {
                             ItemTipUtility.ShowMoneyTip(moneyType);
diff --git a/Main/System/Main/FunctionsBaseWin.cs b/Main/System/Main/FunctionsBaseWin.cs
index a4b8e4e..a648552 100644
--- a/Main/System/Main/FunctionsBaseWin.cs
+++ b/Main/System/Main/FunctionsBaseWin.cs
@@ -111,4 +111,14 @@
     {
         SelectBottomTab(index);
     }
+
+    public void ClickFuncBtn(int index)
+    {
+        if (tabButtons[index].isLock)
+        {
+            return;
+        }
+        tabButtons[index].SelectBtn();
+        SelectBottomTab(index);
+    }
 }
\ No newline at end of file
diff --git a/Main/System/NewBieGuidance/NewBieCenter.cs b/Main/System/NewBieGuidance/NewBieCenter.cs
index 39c7855..07b4f66 100644
--- a/Main/System/NewBieGuidance/NewBieCenter.cs
+++ b/Main/System/NewBieGuidance/NewBieCenter.cs
@@ -25,7 +25,7 @@
     public bool inGuiding
     {
         // 褰撳墠鏈夊紩瀵硷紝骞朵笖涓嶆槸鏆傚仠鐘舵�侊紝鍒欏湪寮曞涓�
-        get { return currentGuide != 0 && IsPauseStoryBattleState(); }
+        get { return currentGuide != 0 && IsNeedRecord(currentGuide); }
     }
 
     List<int> allGuides = new List<int>();
@@ -312,29 +312,15 @@
         }
     }
 
-    public bool IsPauseStoryBattleState()
+
+    //闈�0浠h〃 鍙噸澶嶅紩瀵硷紝涓斾紭鍏堢骇浣庝細琚柊寮曞鏇挎崲锛屼笖涓嶆殏鍋滀富绾挎垬鏂�
+    public bool IsNeedRecord(int _id)
     {
-        if (!UIManager.Instance.IsOpened<NewBieWin>())
-            return false;
-        
-        var stepConfig = ScriptableObjectLoader.LoadSoNewBieGuideStep(guideStep);
-        if (!(stepConfig.guideType == GuideType.NewBie && stepConfig.clickCompleteNoMask))
+        var config = GuideConfig.Get(_id);
+        if (config == null)
         {
-            // 闈炲己鍒跺紩瀵间笉鏆傚仠鎴樻枟锛屽鏈夊叿浣撻渶瑕佸彲浠ュ鍔犲瓧娈�
-            if (currentGuide == BattleManager.Instance.fightGuideID)
-            {
-                // 鎴樻枟寮曞涓紝涓嶆殏鍋�
-                return false;
-            }
-            return true;
+            return false;
         }
-
-
-        return false;
-    }
-
-    bool IsNeedRecord(int _id)
-    {
         return GuideConfig.Get(_id).NoRecord == 0;
     }
 
diff --git a/Main/System/NewBieGuidance/NewBieWin.cs b/Main/System/NewBieGuidance/NewBieWin.cs
index a4d4763..f4b46b7 100644
--- a/Main/System/NewBieGuidance/NewBieWin.cs
+++ b/Main/System/NewBieGuidance/NewBieWin.cs
@@ -75,6 +75,7 @@
         m_GuideTalkRect.SetActive(false);
         m_ContainerDialogue.SetActive(false);
         m_NewBieMask.SetActive(false);
+        NewBieCenter.Instance.currentGuide = 0;
     }
 
     protected override void OnClose()
diff --git a/Main/System/Recharge/RechargeDJQCell.cs b/Main/System/Recharge/RechargeDJQCell.cs
new file mode 100644
index 0000000..6fe331f
--- /dev/null
+++ b/Main/System/Recharge/RechargeDJQCell.cs
@@ -0,0 +1,40 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class RechargeDJQCell : MonoBehaviour
+{
+    [SerializeField] Transform firstTf;
+    [SerializeField] Text firstNums;    //棣栧厖鑾峰緱鐨勮揣甯佹暟閲�
+    [SerializeField] Image icon;
+    [SerializeField] Text normalNums; //鏅�氳喘涔扮殑璐у竵鏁伴噺
+    [SerializeField] Text priceText;
+    [SerializeField] Button buyBtn;
+
+    public void Display(int ctgID)
+    {
+        var config = CTGConfig.Get(ctgID);
+        RechargeManager.Instance.TryGetRechargeCount(ctgID, out RechargeCount _rechargeCount);
+        bool isFirstBuy = _rechargeCount.totalCount == 0;
+        if (isFirstBuy)
+        {
+            firstTf.SetActive(true);
+            firstNums.text = config.FirstGoldPaperPrize.ToString();
+        }
+        else
+        {
+            firstTf.SetActive(false);
+        }
+        normalNums.text = (config.GainGold/100).ToString();
+        RechargeManager.Instance.TryGetOrderInfo(ctgID, out var orderInfoConfig);
+        priceText.text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNumOnSale);
+        icon.SetSprite(config.Icon);
+        icon.SetNativeSize();
+        buyBtn.AddListener(() =>
+        {
+            RechargeManager.Instance.CTG(orderInfoConfig);
+        });
+    }
+
+}
diff --git a/Main/System/Recharge/RechargeDJQCell.cs.meta b/Main/System/Recharge/RechargeDJQCell.cs.meta
new file mode 100644
index 0000000..fc284a6
--- /dev/null
+++ b/Main/System/Recharge/RechargeDJQCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f825b789f0177764ca83eb5dc03bd806
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/RechargeDJQLineCell.cs b/Main/System/Recharge/RechargeDJQLineCell.cs
new file mode 100644
index 0000000..ccdbd9a
--- /dev/null
+++ b/Main/System/Recharge/RechargeDJQLineCell.cs
@@ -0,0 +1,27 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class RechargeDJQLineCell : CellView
+{
+
+    [SerializeField] RechargeDJQCell[] cells;
+
+    public void Display(int index, List<int> _list)
+    {
+
+        for (int i = 0; i < cells.Length; i++)
+        {
+            if (index + i < _list.Count)
+            {
+                cells[i].SetActive(true);
+                cells[i].Display(_list[index + i]);
+            }
+            else
+            {
+                cells[i].SetActive(false);
+            }
+        }
+    }
+}
diff --git a/Main/System/Recharge/RechargeDJQLineCell.cs.meta b/Main/System/Recharge/RechargeDJQLineCell.cs.meta
new file mode 100644
index 0000000..a8e56ee
--- /dev/null
+++ b/Main/System/Recharge/RechargeDJQLineCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8f32da7b403e7e1498ac3ac51db72dba
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/RechargeGoldCell.cs b/Main/System/Recharge/RechargeGoldCell.cs
new file mode 100644
index 0000000..f3c3d0c
--- /dev/null
+++ b/Main/System/Recharge/RechargeGoldCell.cs
@@ -0,0 +1,45 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class RechargeGoldCell : MonoBehaviour
+{
+    [SerializeField] Transform firstTf;
+    [SerializeField] Text firstNums;    //棣栧厖鑾峰緱鐨勮揣甯佹暟閲�
+    [SerializeField] Text firstNumsEx;
+    [SerializeField] Image icon;
+    [SerializeField] Text normalNums; //鏅�氳喘涔扮殑璐у竵鏁伴噺
+    [SerializeField] Text priceText;
+    [SerializeField] Button buyBtn;
+
+    public void Display(int ctgID)
+    {
+        var config = CTGConfig.Get(ctgID);
+        RechargeManager.Instance.TryGetRechargeCount(ctgID, out RechargeCount _rechargeCount);
+        bool isFirstBuy = _rechargeCount.totalCount == 0;
+        if (isFirstBuy)
+        {
+            firstTf.SetActive(true);
+            normalNums.SetActive(false);
+            firstNums.text = (config.GainGold + config.GainGoldPaper).ToString();
+            firstNumsEx.text = config.FirstGoldPaperPrize.ToString();
+        }
+        else
+        {
+            firstTf.SetActive(false);
+            normalNums.SetActive(true);
+            normalNums.text = config.GainGold.ToString();
+        }
+        RechargeManager.Instance.TryGetOrderInfo(ctgID, out var orderInfoConfig);
+        priceText.text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNumOnSale);
+        icon.SetSprite(config.Icon);
+        icon.SetNativeSize();
+        buyBtn.AddListener(() =>
+        {
+            RechargeManager.Instance.CTG(orderInfoConfig);
+        });
+    }
+
+
+}
diff --git a/Main/System/Recharge/RechargeGoldCell.cs.meta b/Main/System/Recharge/RechargeGoldCell.cs.meta
new file mode 100644
index 0000000..5187528
--- /dev/null
+++ b/Main/System/Recharge/RechargeGoldCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0be1db6705e618b4a900f715a3d5ae1f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/RechargeGoldLineCell.cs b/Main/System/Recharge/RechargeGoldLineCell.cs
new file mode 100644
index 0000000..02907cd
--- /dev/null
+++ b/Main/System/Recharge/RechargeGoldLineCell.cs
@@ -0,0 +1,27 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class RechargeGoldLineCell : CellView
+{
+
+    [SerializeField] RechargeGoldCell[] cells;
+
+    public void Display(int index, List<int> _list)
+    {
+
+        for (int i = 0; i < cells.Length; i++)
+        {
+            if (index + i < _list.Count)
+            {
+                cells[i].SetActive(true);
+                cells[i].Display(_list[index + i]);
+            }
+            else
+            {
+                cells[i].SetActive(false);
+            }
+        }
+    }
+}
diff --git a/Main/System/Recharge/RechargeGoldLineCell.cs.meta b/Main/System/Recharge/RechargeGoldLineCell.cs.meta
new file mode 100644
index 0000000..5bae611
--- /dev/null
+++ b/Main/System/Recharge/RechargeGoldLineCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f09634b105ffa4f428926296368c4af3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/RechargeManager.UI.cs b/Main/System/Recharge/RechargeManager.UI.cs
new file mode 100644
index 0000000..4ead2b1
--- /dev/null
+++ b/Main/System/Recharge/RechargeManager.UI.cs
@@ -0,0 +1,24 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine.UI;
+using System.Linq;
+using LitJson;
+using System;
+
+public partial class RechargeManager : GameSystemManager<RechargeManager>
+{
+    public int selectTabIndex;  //0 鐐瑰埜 1 閲戝竵
+
+    public List<int> GetCTGIDListByType(int type)
+    {
+        var list = new List<int>();
+        foreach (var config in CTGConfig.GetValues())
+        {
+            if (config.PayType == type)
+            {
+                list.Add(config.RecordID);
+            }
+        }
+        return list;
+    }
+}
+
diff --git a/Main/System/Recharge/RechargeManager.UI.cs.meta b/Main/System/Recharge/RechargeManager.UI.cs.meta
new file mode 100644
index 0000000..28fbbb3
--- /dev/null
+++ b/Main/System/Recharge/RechargeManager.UI.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 72ed47a97a6d77f498338aa6be3bba2b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/RechargeManager.cs b/Main/System/Recharge/RechargeManager.cs
index 20563eb..99d840c 100644
--- a/Main/System/Recharge/RechargeManager.cs
+++ b/Main/System/Recharge/RechargeManager.cs
@@ -7,7 +7,7 @@
 using System.Linq;
 
 
-public class RechargeManager : GameSystemManager<RechargeManager>
+public partial class RechargeManager : GameSystemManager<RechargeManager>
 {
     private Dictionary<string, List<int>> m_CTGConfigDict = new Dictionary<string, List<int>>();
     public List<int> voucherCTGList = new List<int>();
diff --git a/Main/System/Recharge/RechargeWin.cs b/Main/System/Recharge/RechargeWin.cs
new file mode 100644
index 0000000..2a2579f
--- /dev/null
+++ b/Main/System/Recharge/RechargeWin.cs
@@ -0,0 +1,133 @@
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏呭�肩晫闈�
+public class RechargeWin : UIBase
+{
+
+    [SerializeField] GroupButtonEx djqBtn;
+    [SerializeField] GroupButtonEx goldBtn;
+
+    [SerializeField] ScrollerController djqScroller;
+    [SerializeField] ScrollerController goldScroller;
+    [SerializeField] Transform djqInfo;
+
+    List<int> _list = new List<int>();
+    protected override void InitComponent()
+    {
+        djqBtn.AddListener(() => { OnSelectFuncType(0); });
+        goldBtn.AddListener(() => { OnSelectFuncType(1); });
+    }
+
+
+    protected override void OnPreOpen()
+    {
+        djqScroller.OnRefreshCell += OnDjqRefreshCell;
+        goldScroller.OnRefreshCell += OnGoldRefreshCell;
+        RechargeManager.Instance.rechargeCountEvent += RechargeEvent;
+        
+        if (RechargeManager.Instance.selectTabIndex == 0)
+        {
+            djqBtn.SelectBtn();
+        }
+        else if (RechargeManager.Instance.selectTabIndex == 1)
+        {
+            goldBtn.SelectBtn();
+        }
+
+        Display();
+    }
+
+    protected override void OnPreClose()
+    {
+        djqScroller.OnRefreshCell -= OnDjqRefreshCell;
+        goldScroller.OnRefreshCell -= OnGoldRefreshCell;
+        RechargeManager.Instance.rechargeCountEvent -= RechargeEvent;
+    }
+
+    void RechargeEvent(int id)
+    {
+        Display();
+    }
+
+    void Display()
+    {
+        CreateScroller();
+    }
+
+
+    void CreateScroller()
+    {
+        if (RechargeManager.Instance.selectTabIndex == 0)
+        {
+            _list = RechargeManager.Instance.GetCTGIDListByType(17);
+            djqScroller.SetActive(true);
+            djqInfo.SetActive(true);
+            goldScroller.SetActive(false);
+            if (djqScroller.GetCellTotalCount() == 0)
+            {
+                djqScroller.Refresh();
+                for (int i = 0; i < _list.Count; i++)
+                {
+                    if (i % 3 == 0)
+                    {
+                        djqScroller.AddCell(ScrollerDataType.Header,i);
+                    }
+                }
+                djqScroller.Restart();
+            }
+            else
+            {
+                djqScroller.m_Scorller.RefreshActiveCellViews();
+            }
+        }
+        else if (RechargeManager.Instance.selectTabIndex == 1)
+        {
+            _list = RechargeManager.Instance.GetCTGIDListByType(2);
+            djqScroller.SetActive(false);
+            djqInfo.SetActive(false);
+            goldScroller.SetActive(true);
+
+            if (goldScroller.GetCellTotalCount() == 0)
+            {
+                goldScroller.Refresh();
+                for (int i = 0; i < _list.Count; i++)
+                {
+                    if (i % 3 == 0)
+                    {
+                        goldScroller.AddCell(ScrollerDataType.Header, i);
+                    }
+                }
+                goldScroller.Restart();
+            }
+            else
+            {
+                goldScroller.m_Scorller.RefreshActiveCellViews();
+            }
+        }
+    }
+
+
+    void OnDjqRefreshCell(ScrollerDataType type, CellView cell)
+    {
+        var _cell = cell as RechargeDJQLineCell;
+        _cell.Display(cell.index, _list);
+    }
+
+    void OnGoldRefreshCell(ScrollerDataType type, CellView cell)
+    {
+        var _cell = cell as RechargeGoldLineCell;
+        _cell.Display(cell.index, _list);
+    }
+
+
+
+
+    void OnSelectFuncType(int index)
+    {
+
+        RechargeManager.Instance.selectTabIndex = index;
+        Display();
+    }
+}
diff --git a/Main/System/Recharge/RechargeWin.cs.meta b/Main/System/Recharge/RechargeWin.cs.meta
new file mode 100644
index 0000000..8ad93a1
--- /dev/null
+++ b/Main/System/Recharge/RechargeWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e2f8fee881a283c4f86b141b380dbcce
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Scroll/ScrollerController.cs b/Main/System/Scroll/ScrollerController.cs
index 6449f17..d86ae6c 100644
--- a/Main/System/Scroll/ScrollerController.cs
+++ b/Main/System/Scroll/ScrollerController.cs
@@ -110,7 +110,7 @@
     }
 
     // 鑾峰彇鎬荤殑Cell鏁扮洰锛堝惈涓嶆樉绀虹殑锛�
-    public int GetNumberOfCells()
+    public int GetCellTotalCount()
     {
         return _data.Count;
     }
diff --git a/Main/System/Store/StoreBaseWin.cs b/Main/System/Store/StoreBaseWin.cs
index 734b888..732b9e3 100644
--- a/Main/System/Store/StoreBaseWin.cs
+++ b/Main/System/Store/StoreBaseWin.cs
@@ -15,7 +15,7 @@
                 break;
             case 1:
                 // 鍏呭�肩晫闈�
-                currentSubUI = UIManager.Instance.OpenWindow<StoreWin>();
+                currentSubUI = UIManager.Instance.OpenWindow<RechargeWin>();
                 break;
             default:
                 Debug.LogWarning("鏈煡鐨勬爣绛剧储寮�: " + functionOrder);

--
Gitblit v1.8.0