lcy
2026-03-17 fbe4d7aca9ec0aa7b96197eef705bb5fa6be875f
404 子 【新手】细节优化 / 新增 改名卡 改名消耗改名卡物品
2个文件已修改
52 ■■■■■ 已修改文件
Main/System/PlayerProfile/RenameManager.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/PlayerProfile/RenameWin.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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()
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);
        }
    }
}
}