From 890d0dd7547c18dbffb3339c12007d87876af7ae Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 10 十一月 2025 00:25:16 +0800
Subject: [PATCH] 214 【付费内容】历练秘笈

---
 Main/Utility/EnumHelper.cs                                                         |    1 
 Main/Config/ConfigManager.cs                                                       |    3 
 Main/System/Recharge/ExpSecretCollectionManager.cs                                 |   65 +++++++++
 Main/System/Recharge/ExpSecretCollectionCell.cs                                    |   67 +++++++++
 Main/System/Redpoint/MainRedDot.cs                                                 |    6 
 Main/Config/Configs/LLMJConfig.cs.meta                                             |   11 +
 Main/System/Recharge/ExpSecretCollectionWin.cs.meta                                |   11 +
 Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs                |   23 +++
 Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs.meta           |   11 +
 Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs.meta |   11 +
 Main/System/Main/RightFuncInHome.cs                                                |    9 +
 Main/Config/Configs/LLMJConfig.cs                                                  |   53 +++++++
 Main/System/Recharge/ExpSecretCollectionCell.cs.meta                               |   11 +
 Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs                               |    1 
 Main/System/Recharge/ExpSecretCollectionManager.cs.meta                            |   11 +
 Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs      |   12 +
 Main/Main.cs                                                                       |    1 
 Main/System/Recharge/ExpSecretCollectionWin.cs                                     |   98 ++++++++++++++
 Main/System/Recharge/DailySpecialsModel.cs                                         |    2 
 19 files changed, 406 insertions(+), 1 deletions(-)

diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 7e1430b..93d781e 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -59,6 +59,7 @@
             typeof(InvestConfig),
             typeof(ItemCompoundConfig),
             typeof(ItemConfig),
+            typeof(LLMJConfig),
             typeof(MainChapterConfig),
             typeof(MainLevelConfig),
             typeof(NPCConfig),
@@ -269,6 +270,8 @@
         ClearConfigDictionary<ItemCompoundConfig>();
         // 娓呯┖ ItemConfig 瀛楀吀
         ClearConfigDictionary<ItemConfig>();
+        // 娓呯┖ LLMJConfig 瀛楀吀
+        ClearConfigDictionary<LLMJConfig>();
         // 娓呯┖ MainChapterConfig 瀛楀吀
         ClearConfigDictionary<MainChapterConfig>();
         // 娓呯┖ MainLevelConfig 瀛楀吀
diff --git a/Main/Config/Configs/LLMJConfig.cs b/Main/Config/Configs/LLMJConfig.cs
new file mode 100644
index 0000000..7f487dc
--- /dev/null
+++ b/Main/Config/Configs/LLMJConfig.cs
@@ -0,0 +1,53 @@
+锘�//--------------------------------------------------------
+//    [Author]:           YYL
+//    [  Date ]:           2025骞�11鏈�9鏃�
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class LLMJConfig : ConfigBase<int, LLMJConfig>
+{
+    static LLMJConfig()
+    {
+        // 璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
+        visit = true; 
+    }
+
+    public int MJLV;
+	public int CostWarhammer;
+	public int ExpAddPer;
+	public int ExpExUpper;
+	public int DecomposeAddPer;
+	public int DecomposeExUpper;
+
+    public override int LoadKey(string _key)
+    {
+        int key = GetKey(_key);
+        return key;
+    }
+
+    public override void LoadConfig(string input)
+    {
+        try {
+        string[] tables = input.Split('\t');
+        int.TryParse(tables[0],out MJLV); 
+
+			int.TryParse(tables[1],out CostWarhammer); 
+
+			int.TryParse(tables[2],out ExpAddPer); 
+
+			int.TryParse(tables[3],out ExpExUpper); 
+
+			int.TryParse(tables[4],out DecomposeAddPer); 
+
+			int.TryParse(tables[5],out DecomposeExUpper); 
+        }
+        catch (Exception exception)
+        {
+            Debug.LogError(exception);
+        }
+    }
+}
diff --git a/Main/Config/Configs/LLMJConfig.cs.meta b/Main/Config/Configs/LLMJConfig.cs.meta
new file mode 100644
index 0000000..eb29236
--- /dev/null
+++ b/Main/Config/Configs/LLMJConfig.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dbdce8bad9eb8fc46bde37554698bb0f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs
new file mode 100644
index 0000000..b6f81d4
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 28 鍘嗙粌绉樼瑘淇℃伅 #tagSCLLMJInfo
+
+public class DTCB128_tagSCLLMJInfo : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HB128_tagSCLLMJInfo vNetData = vNetPack as HB128_tagSCLLMJInfo;
+        ExpSecretCollectionManager.Instance.OnExpSecretCollection(vNetData);
+    }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs.meta
new file mode 100644
index 0000000..4c04f7b
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB128_tagSCLLMJInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b287dd194d9fd404f85bcccdaac9833f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index a8be8c4..ff1674e 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -122,6 +122,7 @@
         Register(typeof(HB201_tagSCTianziKYInfo), typeof(DTCB201_tagSCTianziKYInfo));
         Register(typeof(HA340_tagSCSuccessInfoList), typeof(DTCA340_tagSCSuccessInfoList));
         Register(typeof(HA342_tagSCSuccessAwardRecordList), typeof(DTCA342_tagSCSuccessAwardRecordList));
+        Register(typeof(HB128_tagSCLLMJInfo), typeof(DTCB128_tagSCLLMJInfo));
     }
 
     //涓诲伐绋嬫敞鍐屽皝鍖�
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs
new file mode 100644
index 0000000..0e82a04
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs
@@ -0,0 +1,23 @@
+using UnityEngine;
+using System.Collections;
+
+// B1 28 鍘嗙粌绉樼瑘淇℃伅 #tagSCLLMJInfo
+
+public class HB128_tagSCLLMJInfo : GameNetPackBasic {
+    public byte MJLV;    // 绉樼瑘绛夌骇锛屾縺娲诲悗浠�1寮�濮�
+    public uint Zhanchui;    // 绉樼瑘绱娑堣�楁垬閿�
+    public uint ExpEx;    // 绉樼瑘浠婃棩宸查澶栬幏寰楃粡楠�
+    public uint DecomposeEx;    // 绉樼瑘浠婃棩宸查澶栬幏寰楀垎瑙h揣甯�
+
+    public HB128_tagSCLLMJInfo () {
+        _cmd = (ushort)0xB128;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out MJLV, vBytes, NetDataType.BYTE);
+        TransBytes (out Zhanchui, vBytes, NetDataType.DWORD);
+        TransBytes (out ExpEx, vBytes, NetDataType.DWORD);
+        TransBytes (out DecomposeEx, vBytes, NetDataType.DWORD);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs.meta
new file mode 100644
index 0000000..2868f25
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HB1_Role/HB128_tagSCLLMJInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 382098446555f5c4c95c809e78e01aa6
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Main.cs b/Main/Main.cs
index 98041ca..6cf7b82 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -84,6 +84,7 @@
         managers.Add(DayMissionManager.Instance);
         managers.Add(BattlePassManager.Instance);
         managers.Add(TianziBillboradManager.Instance);
+        managers.Add(ExpSecretCollectionManager.Instance);
         foreach (var manager in managers)
         {
             manager.Init();
diff --git a/Main/System/Main/RightFuncInHome.cs b/Main/System/Main/RightFuncInHome.cs
index ea5cd24..3972326 100644
--- a/Main/System/Main/RightFuncInHome.cs
+++ b/Main/System/Main/RightFuncInHome.cs
@@ -15,6 +15,7 @@
     [SerializeField] Button monthCardBtn;
     [SerializeField] Button dayMissionBtn;
     [SerializeField] Button battlePassBtn;
+    [SerializeField] Button llmjBtn; //鍘嗙粌绉樼瑘
 
     static string listenWindowName = "";   //鐩戝惉鍏抽棴鏃跺啀鏄剧ず
 
@@ -63,6 +64,13 @@
             ListenWindow("BattlePassBaseWin");
             UIManager.Instance.OpenWindow<BattlePassBaseWin>();
         });
+
+        llmjBtn.AddListener(() =>
+        {
+            //鐢ㄤ簬鐩戝惉鐣岄潰锛屾墦寮�鏃剁缉杩涘彸杈瑰姛鑳芥爮锛屽叧闂椂鏄剧ず
+            ListenWindow("ExpSecretCollectionWin");
+            UIManager.Instance.OpenWindow<ExpSecretCollectionWin>();
+        });
     }
 
     void ShowBtns()
@@ -70,6 +78,7 @@
         storeBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store));
         dayMissionBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission));
         battlePassBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BattlePass));
+        llmjBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.LLMJ));
     }
 
 
diff --git a/Main/System/Recharge/DailySpecialsModel.cs b/Main/System/Recharge/DailySpecialsModel.cs
index 6979152..c305233 100644
--- a/Main/System/Recharge/DailySpecialsModel.cs
+++ b/Main/System/Recharge/DailySpecialsModel.cs
@@ -4,7 +4,7 @@
 using LitJson;
 using System;
 
-
+//姣忔棩鐗规儬
 public class DailySpecialsModel  : GameSystemManager<DailySpecialsModel>
 {
     public uint PackBuyTime;    // 鎵撳寘璐拱鐨勬椂闂存埑锛屽鏋滄湁璇ュ�硷紝浠h〃宸茬粡涓�娆℃�ф墦鍖呰喘涔颁簡锛屽彲鏍规嵁娆℃椂闂存埑绠楀嚭褰撳墠鏄鍑犲ぉ
diff --git a/Main/System/Recharge/ExpSecretCollectionCell.cs b/Main/System/Recharge/ExpSecretCollectionCell.cs
new file mode 100644
index 0000000..d82cffb
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionCell.cs
@@ -0,0 +1,67 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+public class ExpSecretCollectionCell : CellView
+{
+
+    [SerializeField] Text lvText;
+    [SerializeField] Image targetBGImg;
+    [SerializeField] Transform upProcessBG;
+    [SerializeField] Transform upProcessImg;
+    [SerializeField] Transform downProcessBG;
+    [SerializeField] Transform downProcessImg;
+    [SerializeField] Transform unlockRect1;
+    [SerializeField] Transform unlockRect2;
+    [SerializeField] Text unlockValueText;
+    [SerializeField] Text addExpPerText;
+    [SerializeField] Text addMoneyPerText;
+    [SerializeField] Transform mask;
+    [SerializeField] Transform canActiveRect;
+    [SerializeField] Transform activeRect;
+    [SerializeField] Button avtiveBtn;
+
+    
+
+    public void Display(int id)
+    {
+        var config = LLMJConfig.Get(id);
+        var lv = config.MJLV;
+        lvText.text = Language.Get("Arena22", lv);
+        targetBGImg.SetOrgSprite(lv <= ExpSecretCollectionManager.Instance.m_MJLV ? "ExpSecret_img_43" : "ExpSecret_img_41", "LLMJ");
+
+        var ids = LLMJConfig.GetKeys();
+        ids.Sort();
+        upProcessBG.SetActive(ids[0] != id);
+        upProcessImg.SetActive(ExpSecretCollectionManager.Instance.m_MJLV >= lv);
+
+        downProcessBG.SetActive(ids[ids.Count - 1] != id);
+        downProcessImg.SetActive(ExpSecretCollectionManager.Instance.m_MJLV > lv);
+
+        unlockRect1.SetActive(lv == 1);
+        unlockRect2.SetActive(lv != 1);
+
+        unlockValueText.text = config.CostWarhammer.ToString();
+        addExpPerText.text = Language.Get("LLMJ6", config.ExpAddPer);
+        addMoneyPerText.text = Language.Get("LLMJ7", config.DecomposeAddPer);
+        mask.SetActive(ExpSecretCollectionManager.Instance.m_MJLV < lv);
+        activeRect.SetActive(ExpSecretCollectionManager.Instance.m_MJLV == lv);
+        canActiveRect.SetActive(ExpSecretCollectionManager.Instance.m_MJLV != 0 &&
+            ExpSecretCollectionManager.Instance.m_MJLV + 1 == lv && ExpSecretCollectionManager.Instance.m_Zhanchui >= config.CostWarhammer);
+    
+        avtiveBtn.AddListener(() =>
+        {
+            if (ExpSecretCollectionManager.Instance.m_MJLV != 0 &&
+            ExpSecretCollectionManager.Instance.m_MJLV + 1 == lv && ExpSecretCollectionManager.Instance.m_Zhanchui >= config.CostWarhammer)
+            {
+                var pack = new CA504_tagCMPlayerGetReward();
+                pack.RewardType = 2;
+                GameNetSystem.Instance.SendInfo(pack);
+                SysNotifyMgr.Instance.ShowTip("Success");
+            }
+        });
+    }
+
+}
\ No newline at end of file
diff --git a/Main/System/Recharge/ExpSecretCollectionCell.cs.meta b/Main/System/Recharge/ExpSecretCollectionCell.cs.meta
new file mode 100644
index 0000000..8b12d71
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 01c0ae104c52aa9498987271cc2d2e7b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/ExpSecretCollectionManager.cs b/Main/System/Recharge/ExpSecretCollectionManager.cs
new file mode 100644
index 0000000..669eec8
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionManager.cs
@@ -0,0 +1,65 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine.UI;
+using System.Linq;
+using LitJson;
+using System;
+
+// 鍘嗙粌绉樼瑘
+public class ExpSecretCollectionManager : GameSystemManager<ExpSecretCollectionManager>
+{
+    public int ctgID;
+
+    public byte m_MJLV;    // 绉樼瑘绛夌骇锛屾縺娲诲悗浠�1寮�濮�
+    public uint m_Zhanchui;    // 绉樼瑘绱娑堣�楁垬閿�
+    public uint m_ExpEx;    // 绉樼瑘浠婃棩宸查澶栬幏寰楃粡楠�
+    public uint m_DecomposeEx;    // 绉樼瑘浠婃棩宸查澶栬幏寰楀垎瑙h揣甯�
+
+    public event Action UpdateExpSecretCollectionEvent;
+
+    public override void Init()
+    {
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+        var config = FuncConfigConfig.Get("LLMJ");
+        ctgID = int.Parse(config.Numerical1);
+    }
+
+    public override void Release()
+    {
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+    }
+
+    void OnBeforePlayerDataInitialize()
+    {
+        m_MJLV = 0;
+        m_Zhanchui = 0;
+        m_ExpEx = 0;
+        m_DecomposeEx = 0;
+    }
+
+    public void OnExpSecretCollection(HB128_tagSCLLMJInfo netPack)
+    {
+        m_MJLV = netPack.MJLV;
+        m_Zhanchui = netPack.Zhanchui;
+        m_ExpEx = netPack.ExpEx;
+        m_DecomposeEx = netPack.DecomposeEx;
+        UpdateExpSecretCollectionEvent?.Invoke();
+        UpdateRedpoint();
+    }
+
+    public Redpoint redPointLLMJ = new Redpoint(MainRedDot.RightFuncRedpoint, MainRedDot.RedPoint_LLMJKey);
+    void UpdateRedpoint()
+    {
+        if (m_MJLV == 0) return;
+        var nextConfig = LLMJConfig.Get(m_MJLV + 1);
+        if (nextConfig == null) return;
+        if (m_Zhanchui >= nextConfig.CostWarhammer)
+        {
+            redPointLLMJ.state = RedPointState.Simple;
+        }
+        else
+        {
+            redPointLLMJ.state = RedPointState.None;
+        }
+    }
+}
+
diff --git a/Main/System/Recharge/ExpSecretCollectionManager.cs.meta b/Main/System/Recharge/ExpSecretCollectionManager.cs.meta
new file mode 100644
index 0000000..689bd8a
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 37633ce5681dc8540baa735cdc7b4c2d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Recharge/ExpSecretCollectionWin.cs b/Main/System/Recharge/ExpSecretCollectionWin.cs
new file mode 100644
index 0000000..963dfae
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionWin.cs
@@ -0,0 +1,98 @@
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+
+
+//鍘嗙粌绉樼瑘
+public class ExpSecretCollectionWin : UIBase
+{
+    [SerializeField] Text costzcText;
+    [SerializeField] Text addExpText;
+    [SerializeField] Text addMoneyText;
+    [SerializeField] ScrollerController scroller;
+    [SerializeField] Button buyBtn;
+    [SerializeField] Text buyText;
+    [SerializeField] Transform buyYetRect;
+
+
+    protected override void InitComponent()
+    {
+        buyBtn.AddListener(() =>
+        {
+            RechargeManager.Instance.CTG(ExpSecretCollectionManager.Instance.ctgID);
+        });
+    }
+
+    protected override void OnPreOpen()
+    {
+
+        ExpSecretCollectionManager.Instance.UpdateExpSecretCollectionEvent += OnExpSecretCollectionEvent;
+        scroller.OnRefreshCell += OnRefreshCell;
+        CreateScroller();
+        Display();
+    }
+
+
+    protected override void OnPreClose()
+    {
+        ExpSecretCollectionManager.Instance.UpdateExpSecretCollectionEvent -= OnExpSecretCollectionEvent;
+        scroller.OnRefreshCell -= OnRefreshCell;
+    }
+
+    void CreateScroller()
+    {
+        scroller.Refresh();
+        var keys = LLMJConfig.GetKeys();
+        keys.Sort();
+        foreach (var key in keys)
+        {
+            scroller.AddCell(ScrollerDataType.Header, key);
+        }
+        scroller.Restart();
+        scroller.JumpIndex(ExpSecretCollectionManager.Instance.m_MJLV - 1);
+    }
+
+    void OnRefreshCell(ScrollerDataType type, CellView cell)
+    {
+        var _cell = cell as ExpSecretCollectionCell;
+        _cell.Display(cell.index);
+    }
+
+    void OnExpSecretCollectionEvent()
+    {
+        Display();
+    }
+
+    void Display()
+    {
+        costzcText.text = ExpSecretCollectionManager.Instance.m_Zhanchui >= 1000000 ?
+            UIHelper.ReplaceLargeNum(ExpSecretCollectionManager.Instance.m_Zhanchui) :
+            ExpSecretCollectionManager.Instance.m_Zhanchui.ToString();
+
+        var config = LLMJConfig.Get(ExpSecretCollectionManager.Instance.m_MJLV);
+
+        if (ExpSecretCollectionManager.Instance.m_MJLV == 0)
+        {
+            addExpText.text = "0";
+            addMoneyText.text = "0";
+        }
+        else
+        {
+            addExpText.text = ExpSecretCollectionManager.Instance.m_ExpEx + "/" + config.ExpExUpper;
+            addMoneyText.text = ExpSecretCollectionManager.Instance.m_DecomposeEx + "/" + config.DecomposeExUpper;
+        }        
+
+        buyBtn.SetActive(ExpSecretCollectionManager.Instance.m_MJLV == 0);
+        RechargeManager.Instance.TryGetOrderInfo(ExpSecretCollectionManager.Instance.ctgID, out var orderInfoConfig);
+        buyText.text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNumOnSale);
+        buyYetRect.SetActive(ExpSecretCollectionManager.Instance.m_MJLV != 0);
+
+        scroller.m_Scorller.RefreshActiveCellViews();
+    }
+
+}
+
+
+
+
+
diff --git a/Main/System/Recharge/ExpSecretCollectionWin.cs.meta b/Main/System/Recharge/ExpSecretCollectionWin.cs.meta
new file mode 100644
index 0000000..210d4dd
--- /dev/null
+++ b/Main/System/Recharge/ExpSecretCollectionWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9b8d1a65440f5424daa7a543d9213479
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/System/Redpoint/MainRedDot.cs b/Main/System/Redpoint/MainRedDot.cs
index 7cc1560..45e6dc4 100644
--- a/Main/System/Redpoint/MainRedDot.cs
+++ b/Main/System/Redpoint/MainRedDot.cs
@@ -52,6 +52,12 @@
     //鍩洪噾锛堟垬浠わ級
     public const int RedPoint_FundKey = 105;
     public Redpoint redPointFund = new Redpoint(RightFuncRedpoint, RedPoint_FundKey);
+
+    //鍘嗙粌绉樼瑘
+    public const int RedPoint_LLMJKey = 106;
+    
+
+    
     //姝﹀皢鍗�
     public const int HeroCardRedpoint = 200;
     public Redpoint HeroListRedpoint = new Redpoint(MainHerosRedpoint, HeroCardRedpoint);
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index 472ce51..e473b27 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -834,6 +834,7 @@
     AutoFight = 20,//鑷姩鎴樻枟
     Recharge = 22,//鍏呭��
     BattlePass = 40, //鍩洪噾锛堟垬浠わ級
+    LLMJ = 41,  //鍘嗙粌绉樼瑘
 
 }
 

--
Gitblit v1.8.0