From fbe4d7aca9ec0aa7b96197eef705bb5fa6be875f Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 17 三月 2026 17:11:15 +0800
Subject: [PATCH] 404 子 【新手】细节优化 / 新增 改名卡 改名消耗改名卡物品

---
 Main/System/PlayerProfile/RenameManager.cs |    2 ++
 Main/System/PlayerProfile/RenameWin.cs     |   50 +++++++++++++++++++-------------------------------
 2 files changed, 21 insertions(+), 31 deletions(-)

diff --git a/Main/System/PlayerProfile/RenameManager.cs b/Main/System/PlayerProfile/RenameManager.cs
index 5237e52..7b3b052 100644
--- a/Main/System/PlayerProfile/RenameManager.cs
+++ b/Main/System/PlayerProfile/RenameManager.cs
@@ -5,6 +5,7 @@
 {
     public int moneyType;
     public int moneyNeed;
+    public int costItemID;
     public override void Init()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin;
@@ -13,6 +14,7 @@
         int[] arr = ConfigParse.GetMultipleStr<int>(config.Numerical3);
         moneyType = arr[0];
         moneyNeed = arr[1];
+        costItemID = int.Parse(config.Numerical4);
     }
 
     public override void Release()
diff --git a/Main/System/PlayerProfile/RenameWin.cs b/Main/System/PlayerProfile/RenameWin.cs
index 2f42bf4..9d206a9 100644
--- a/Main/System/PlayerProfile/RenameWin.cs
+++ b/Main/System/PlayerProfile/RenameWin.cs
@@ -8,8 +8,8 @@
     [SerializeField] Button btnOk;
     [SerializeField] Button btnRandom;
     [SerializeField] TextEx txtFirst;
-    [SerializeField] TextEx txtMoney;
-    [SerializeField] ImageEx imgMoney;
+    [SerializeField] TextEx txtNeedCount;
+    [SerializeField] ImageEx imgIcon;
 
     RenameManager manager { get { return RenameManager.Instance; } }
     protected override void InitComponent()
@@ -19,32 +19,12 @@
         {
             input.text = manager.GetSafeRandomName();
         });
+
         btnOk.SetListener(() =>
         {
             bool isFirstRename = manager.IsFirstRename();
-            if (!isFirstRename && !UIHelper.CheckMoneyCount(manager.moneyType, manager.moneyNeed))
-            {
-                string title = Language.Get("Mail101");
-                string info = Language.Get("PlayerProfile22", RichTextMsgReplaceConfig.GetRichReplace("MONEY", manager.moneyType));
-                ConfirmCancel.ShowPopConfirm(title, info, (bool isOk) =>
-                {
-                    if (isOk)
-                    {
-                        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true))
-                            return;
-                        RechargeManager.Instance.selectTabIndex = 1;
-                        if (UIManager.Instance.IsOpened<StoreBaseWin>())
-                        {
-                            UIManager.Instance.GetUI<StoreBaseWin>().ClickFuncBtn(2);
-                        }
-                        else
-                        {
-                            UIManager.Instance.OpenWindow<StoreBaseWin>(2);
-                        }
-                    }
-                });
+            if (!isFirstRename && !UIHelper.CheckItemCount(manager.costItemID, 1, 2))
                 return;
-            }
 
             if (!manager.CheckNameLimit(input.text, out var errorCode))
             {
@@ -62,7 +42,7 @@
         base.OnPreOpen();
         manager.OnUpdatePlayerNameCountEvent += OnUpdatePlayerNameCount;
         manager.OnUpdateRenameResultEvent += OnUpdateRenameResultEvent;
-        PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
+        PackManager.Instance.RefreshItemEvent += OnRefreshItemEvent;
         Display();
     }
 
@@ -71,11 +51,15 @@
         base.OnPreClose();
         manager.OnUpdatePlayerNameCountEvent -= OnUpdatePlayerNameCount;
         manager.OnUpdateRenameResultEvent -= OnUpdateRenameResultEvent;
-        PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
+        PackManager.Instance.RefreshItemEvent -= OnRefreshItemEvent;
     }
 
-    private void PlayerDataRefresh(PlayerDataType type)
+    private void OnRefreshItemEvent(PackType type, int index, int itemID)
     {
+        if (type != PackType.Item)
+            return;
+        if (itemID != manager.costItemID)
+            return;
         Display();
     }
 
@@ -93,8 +77,12 @@
     {
         bool isFirstRename = manager.IsFirstRename();
         txtFirst.SetActive(isFirstRename);
-        txtMoney.SetActive(!isFirstRename);
-        imgMoney.SetIconWithMoneyType(manager.moneyType);
-        txtMoney.text = UIHelper.ShowUseMoney(manager.moneyType, manager.moneyNeed);
+        txtNeedCount.SetActive(!isFirstRename);
+
+        if (!isFirstRename)
+        {
+            imgIcon.SetItemSprite(manager.costItemID);
+            txtNeedCount.text = UIHelper.ShowUseItem(PackType.Item, manager.costItemID, 1);
+        }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0