hch
2025-08-25 eabc1cf8441444ea40b0fb00b394009eb5c9e90d
5 【武将】招募系统-测试bug记录
10个文件已修改
117 ■■■■■ 已修改文件
Main/Main.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/GeneralConfig/GeneralDefine.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HappyXBModel.cs 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HeroCallResultWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HeroCallWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Invest/InvestModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/ItemTip/BoxGetItemModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Message/SysNotifyMgr.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Tip/ScrollTip.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Tip/ToggleConfirmWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Main.cs
@@ -33,6 +33,9 @@
        Debug.Log("切换到登录场景");
        ConfigManager.Instance.Init();
        GeneralDefine.Init();
#if UNITY_EDITOR
        SysNotifyMgr.Instance.BeforePlayerDataInitializeEvent();
#endif
        StageManager.Instance.ToLoginScene();
        DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
Main/System/GeneralConfig/GeneralDefine.cs
@@ -11,7 +11,6 @@
    public static Dictionary<int, int> MoneyDisplayModel { get; private set; }
    public static int playerMaxLevel { get; private set; }
    
    public static Dictionary<int, int> moneyDisplayIds { get; private set; }
    public static int expDisplayId { get; private set; }
    
Main/System/HappyXB/HappyXBModel.cs
@@ -44,6 +44,9 @@
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
        FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
        PackManager.Instance.RefreshItemEvent += RefreshXBTool;
        TimeMgr.Instance.OnDayEvent += OnDayEvent;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
        xbGetItemDict.Clear();
        xbTypeItemDict.Clear();
@@ -71,17 +74,30 @@
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
        FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
        PackManager.Instance.RefreshItemEvent -= RefreshXBTool;
        TimeMgr.Instance.OnDayEvent -= OnDayEvent;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
    }
    public void OnBeforePlayerDataInitialize()
    void OnBeforePlayerDataInitialize()
    {
        isXBCoolTime = false;
        xbTypeInfoDict.Clear();
    }
    void OnPlayerLoginOk()
    {
        HeroCallRedPoint();
    }
    void OnInvestUpdate(int type)
    {
        if (type == 7)
            HeroCallRedPoint();
    }
    public XBGetItemConfig GetXBItemConfigByType(int type)
    {
        int lv = 0;
@@ -307,27 +323,33 @@
            //货币寻宝
            int moneyType = funcSet.CostMoneyType;
            int xbOneMoney = funcSet.CostMoneyList[0];
            if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
            {
                //暂定充值货币需要二次确认
                if (moneyType == 1)
                {
                    StoreModel.Instance.UseMoneyCheck(xbOneMoney, moneyType, () =>
                    {
                    if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
                    {
                        SendXBQuest(xbType, 0, 0);
                    }
                    else
                    {
                        ItemTipUtility.ShowMoneyTip(moneyType);
                    }
                    }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, xbOneMoney,
                    UIHelper.GetIconNameWithMoneyType(moneyType), funcSet.CostItemCountList[0]));
                }
                else
                {
                if (UIHelper.GetMoneyCnt(moneyType) >= xbOneMoney)
                {
                    SendXBQuest(xbType, 0, 0);
                }
            }
            else
            {
                ItemTipUtility.ShowMoneyTip(moneyType);
                }
            }
        }
    }
@@ -356,26 +378,34 @@
            //货币寻宝
            int moneyType = funcSet.CostMoneyType;
            if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
            {
                //暂定充值货币需要二次确认
                if (moneyType == 1)
                {
                    StoreModel.Instance.UseMoneyCheck(needMoney, moneyType, () =>
                    {
                        //只要有道具就是道具寻宝,不足部分服务端扣货币
                    if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
                    {
                        SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0);
                    }
                    else
                    {
                        ItemTipUtility.ShowMoneyTip(moneyType);
                    }
                    }, (int)BuyStoreItemCheckType.HeroCall, fullTip: Language.Get("CostMoneyForItem", funcSet.CostItemID, needMoney,
                    UIHelper.GetIconNameWithMoneyType(moneyType), needToolCnt - toolCnt));
                }
                else
                {
                if (UIHelper.GetMoneyCnt(moneyType) >= needMoney)
                {
                    SendXBQuest(xbType, 1, toolCnt > 0 ? 2 : 0);
                }
            }
            else
            {
                ItemTipUtility.ShowMoneyTip(moneyType);
                }
            }
        }
@@ -479,10 +509,15 @@
    #region 红点逻辑
    public const int HappyXB_RedKey = 203;
    public const int XBHeroCall1_RedKey = 20300;    //武将免费召唤
    public const int XBHeroCall10_RedKey = 20301;    //武将10召唤
    public const int XBHeroCallScore_RedKey = 20302;    //武将积分召唤
    public Redpoint happyXBRed = new Redpoint(HappyXB_RedKey);
    public Redpoint happyXBRed = new Redpoint(MainRedDot.MainHerosRedpoint, HappyXB_RedKey);
    public Redpoint bestXBFreeRed = new Redpoint(HappyXB_RedKey, XBHeroCall1_RedKey);
    public Redpoint bestXB10Red = new Redpoint(HappyXB_RedKey, XBHeroCall10_RedKey);
    public Redpoint bestXBScoreRed = new Redpoint(HappyXB_RedKey, XBHeroCallScore_RedKey);
    
    private void UpdateFuncState(int funcId)
@@ -500,32 +535,39 @@
        HeroCallRedPoint();
    }
    void OnDayEvent()
    {
        HeroCallRedPoint();
    }
    //英雄招募
    public void HeroCallRedPoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure)) return;
        // 免费 10连 积分
        happyXBRed.state = RedPointState.None;
        bestXB10Red.state = RedPointState.None;
        bestXBFreeRed.state = RedPointState.None;
        bestXBScoreRed.state = RedPointState.None;
        if (IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
        {
            bestXBFreeRed.state = RedPointState.Simple;
            return;
        }
        else
        {
            bestXBFreeRed.state = RedPointState.None;
        }
        if (IsHaveManyXBToolEx((int)HappXBTitle.HeroCallAdvanced, out int xbtoolCnt, out int needtoolCnt, out int needMoney))
        {
            happyXBRed.state = RedPointState.Simple;
            bestXB10Red.state = RedPointState.Simple;
            return;
        }
        //积分足够
        if ((InvestModel.Instance.IsInvested(InvestModel.monthCardType)
        || GetXBInfoByType((int)HappXBTitle.HeroCallScore)?.treasureCount == 0)
        && UIHelper.GetMoneyCnt(51) >= TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0])
        {
            bestXBScoreRed.state = RedPointState.Simple;
        }
    }
Main/System/HappyXB/HeroCallResultWin.cs
@@ -65,7 +65,6 @@
    protected override void OnPreOpen()
    {
        isSkip = LocalSave.GetBool(HeroUIManager.skipKey, false);
        UIManager.Instance.CloseWindow<ScrollTipWin>();
        HappyXBModel.Instance.RefreshXBResultAct += UpdateState;
        HappyXBModel.Instance.RefreshXBTypeInfoAct += RefreshBtn;
        InitMoney();
@@ -195,7 +194,7 @@
        var item = ItemConfig.Get(funcSet.CostItemID);
        var IconKey = item.IconKey;
        call1ItemIcon.SetOrgSprite(IconKey);
        var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
        if (HappyXBModel.Instance.IsHaveFreeXB((int)HeroUIManager.Instance.selectCallType))
        {
@@ -203,12 +202,13 @@
        }
        else
        {
            call1Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[0]);
            call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[0].ToString()));
        }
        call10ItemIcon.SetOrgSprite(IconKey);
        call10Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[1]);
        call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString()));
    }
    void ShowMoney(bool show)
Main/System/HappyXB/HeroCallWin.cs
@@ -71,15 +71,16 @@
        var IconKey = item.IconKey;
        call1ItemIcon.SetOrgSprite(IconKey);
        call10ItemIcon.SetOrgSprite(IconKey);
        var itemCount = PackManager.Instance.GetItemCountByID(PackType.Item, funcSet.CostItemID);
        if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
        {
            call1Text.text = Language.Get("L1127");
        }
        else
        {
            call1Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[0]);
            call1Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[0] > itemCount ? TextColType.Red :TextColType.LightWhite, funcSet.CostItemCountList[0].ToString()));
        }
        call10Text.text = Language.Get("L1100", item.ItemName, funcSet.CostItemCountList[1]);
        call10Text.text = Language.Get("L1100", item.ItemName, UIHelper.AppendColor(funcSet.CostItemCountList[1] > itemCount ? TextColType.Red : TextColType.LightWhite, funcSet.CostItemCountList[1].ToString()));
        scoreText.text = UIHelper.GetMoneyCnt(51) + "/" + TreasureSetConfig.Get((int)HappXBTitle.HeroCallScore).CostMoneyList[0];
@@ -109,7 +110,7 @@
    void RefreshFreeTime()
    { 
        if (!HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
        if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.HeroCallAdvanced))
        {
            freeCDTime.SetActive(false);
        }
Main/System/Invest/InvestModel.cs
@@ -32,7 +32,7 @@
    public event Action onSelectUpdate;
    public event Action onInvestUpdate;
    public event Action<int> onInvestUpdate;
    public const int redpointID = 20931;
    public Redpoint redpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, redpointID);
@@ -305,7 +305,7 @@
        if (onInvestUpdate != null)
        {
            onInvestUpdate();
            onInvestUpdate(package.InvestType);
        }
    }
Main/System/ItemTip/BoxGetItemModel.cs
@@ -97,9 +97,9 @@
            for (int i = 0; i < netPack.MoneyLen; i++)
            {
                var moneyType = netPack.MoneyList[i].MoneyType;
                if (GeneralDefine.moneyDisplayIds.ContainsKey(moneyType) && netPack.MoneyList[i].MoneyValue != 0)
                if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType) && netPack.MoneyList[i].MoneyValue != 0)
                {
                    showItems.Add(new Item(GeneralDefine.moneyDisplayIds[moneyType], netPack.MoneyList[i].MoneyValue));
                    showItems.Add(new Item(GeneralDefine.MoneyDisplayModel[moneyType], netPack.MoneyList[i].MoneyValue));
                }
            }
Main/System/Message/SysNotifyMgr.cs
@@ -66,7 +66,7 @@
        // BattleHint.Instance.OnStageLoadFinish();
    }
    private void BeforePlayerDataInitializeEvent()
    public void BeforePlayerDataInitializeEvent()
    {
        ScrollTip.m_Hints.Clear();
        ServerTipDetails.ClearHint();
Main/System/Tip/ScrollTip.cs
@@ -50,6 +50,7 @@
        //过滤不播放的情况
        if (!CanOpen())
        {
            m_Hints.Clear();
            return;
        }
@@ -61,10 +62,7 @@
    static bool CanOpen()
    {
        // if (UIManager.Instance.IsOpened<HeroCallResultWin>())
        // {
        //     return false;
        // }
        if (HappyXBModel.Instance.isXBCoolTime)
            return false;
        return true;
Main/System/Tip/ToggleConfirmWin.cs
@@ -59,6 +59,7 @@
    }
    private void OnConfirm()
    {
        CloseWindow();
        if (ConfirmCancel.OnToggleConfirmEvent != null)
        {
            ConfirmCancel.OnToggleConfirmEvent(true, m_Toggle.isOn);
@@ -67,11 +68,11 @@
        {
            ConfirmCancel.OnToggleSingleConfirmEvent(m_Toggle.isOn);
        }
        CloseWindow();
    }
    private void OnCancel()
    {
        CloseWindow();
        if (ConfirmCancel.OnToggleConfirmEvent != null)
        {
            ConfirmCancel.OnToggleConfirmEvent(false, m_Toggle.isOn);
@@ -80,16 +81,15 @@
        {
            ConfirmCancel.OnToggleSingleConfirmEvent(m_Toggle.isOn);
        }
        CloseWindow();
    }
    private void OnCancelEx()
    {
        CloseWindow();
        if (ConfirmCancel.OnToggleConfirmEventEx != null)
        {
            ConfirmCancel.OnToggleConfirmEventEx(false, m_Toggle.isOn);
        }
        CloseWindow();
    }
}