yyl
2026-01-12 67a2ba7feb3576913dc2df2bce8ccc9d87840843
Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
17个文件已修改
164 ■■■■ 已修改文件
Main/System/BattlePass/BattlePassCommonCell.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BattlePass/BattlePassCommonWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BattlePass/BattlePassManager.Common.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BattlePass/BattlePassManager.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BeautyMM/BeautyMMShowWin.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BeautyMM/BeautyMMTalentAttrCell.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BeautyMM/BeautyMMTalentWin.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Chat/ChatManager.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoActiveWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoDetailWin.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoManager.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoTipWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildManager.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HappyXBModel.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroRebornWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/OperationLogCollect.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/UIHelper.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/BattlePass/BattlePassCommonCell.cs
@@ -58,7 +58,10 @@
        if (config.ZhanlingType == (int)BattlePassType.MainLine)
        {
            valueText.text = config.NeedValue / 100 + "-" + config.NeedValue % 100;
        }
        else if (config.ZhanlingType == (int)BattlePassType.BetterMainLine)
        {
            valueText.text = config.NeedValue/100 + "-" + config.NeedValue%100;
        }
        else
Main/System/BattlePass/BattlePassCommonWin.cs
@@ -144,6 +144,11 @@
                    totalActivityText.text = Language.Get("BattlePassValue3", totalValue / 100, totalValue % 100);
                    break;
                }
            case BattlePassType.BetterMainLine:
                {
                    totalActivityText.text = Language.Get("BattlePassValue3", totalValue / 100, totalValue % 100);
                    break;
                }
        }
    }
Main/System/BattlePass/BattlePassManager.Common.cs
@@ -19,6 +19,7 @@
        {3, 40},
        {4, 28},
        {5, 27},
        {7, 53},
    };
    public int[] battlePassTypeSortList;
@@ -67,6 +68,12 @@
                    totalValue = (int)battlePassData.value1;
                    break;
                }
            case BattlePassType.BetterMainLine:
                {
                    //通关的 找上一关值
                    totalValue = MainLevelConfig.GetPassedLevel();
                    break;
                }
        }
        if (HasAnyAward(_type, totalValue))
Main/System/BattlePass/BattlePassManager.cs
@@ -122,6 +122,7 @@
            case BattlePassType.MainLine:
            case BattlePassType.GuBao:
            case BattlePassType.Arena:
            case BattlePassType.BetterMainLine:
                {
                    UpdateCommonBPRedpoint(type);
                    break;
@@ -354,6 +355,11 @@
                {
                    return (int)battlePassData.value1;
                }
            case BattlePassType.BetterMainLine:
                {
                    //通关的 找上一关值
                    return MainLevelConfig.GetPassedLevel();
                }
        }
        return 0;       
    }
@@ -386,4 +392,5 @@
    GuBao = 4,   //古宝
    Arena = 5,   //演武场
    Week = 6,    //周战令
    BetterMainLine = 7,    //高级关卡基金
}
Main/System/BeautyMM/BeautyMMShowWin.cs
@@ -355,7 +355,14 @@
        var state = BeautyMMManager.Instance.GetMMBaseState(mmConfig);
        if (state <= 1)
        {
            SysNotifyMgr.Instance.ShowTip("BeautyMM1");
            if (mmConfig.UnlockWay == 1)
            {
                ItemTipUtility.Show(mmConfig.UnlockValue);
            }
            else
            {
                SysNotifyMgr.Instance.ShowTip("BeautyMM1");
            }
            return;
        }
        var pack = new CB219_tagCSBeautyActivate();
Main/System/BeautyMM/BeautyMMTalentAttrCell.cs
@@ -20,6 +20,10 @@
        var mmConfig = BeautyConfig.Get(mmID);
        BeautyQualityLVConfig config;
        BeautyQualityLVConfig.TryGetBeautyQualityLVConfig(mmConfig.BeautyQuality, lv, out config);
        if (config == null)
        {
            return;
        }
        var id = config.AttrIDList[0];
        if (!isLVActive)
        {
Main/System/BeautyMM/BeautyMMTalentWin.cs
@@ -57,13 +57,23 @@
        {
            if (i % 20 == 0)
            {
                attrScroller.AddCell(ScrollerDataType.Header, i / 20);
                talentScroller.AddCell(ScrollerDataType.Header, i / 20);
            }
            attrScroller.AddCell(ScrollerDataType.Normal, i + 1);
        }
        for (int i = 0; i < maxLV; i++)
        {
            if (i % 20 == 0)
            {
                attrScroller.AddCell(ScrollerDataType.Header, i / 20);
            }
            attrScroller.AddCell(ScrollerDataType.Normal, i + 1);
        }
        attrScroller.Restart();
        talentScroller.Restart();
    }
Main/System/Chat/ChatManager.cs
@@ -260,7 +260,7 @@
            return false;
        }
        if (DirtyWordConfig.IsDirtWord(info) || UIHelper.HasSpecialCharac(info)
        if (DirtyWordConfig.IsDirtWord(info) || UIHelper.HasSpecCheckChat(info)
            || DirtyNameConfig.IsDirtName(info))
        {
            errorCode = 3;
@@ -328,6 +328,21 @@
        pack.Content = content;
        pack.Len = (ushort)GetUTF8InfoLen(content);
        GameNetSystem.Instance.SendInfo(pack);
        ChatReport(channelType, content);
    }
    void ChatReport(int chatType, string content, string toPlayer="")
    {
        try
        {
            var channelName = Language.Get($"ChatTab{chatType}");
            OperationLogCollect.Instance.ChatReport(content, channelName, toPlayer, chatType);
        }
        catch (Exception e)
        {
            Debug.LogError(e.StackTrace + e.Message);
        }
    }
    public readonly int maxTalkCount = 1000;  //聊天数量上限
Main/System/Gubao/GubaoActiveWin.cs
@@ -97,7 +97,7 @@
            {
                attrPrivilegeText.text = Language.Get("Gubao23_" + config.PowerType, valueDict[config.PowerType] / 100.0);
            }
            else if (config.PowerType == 2)
            else if (config.PowerType == 2 || config.PowerType == 3)
            {
                attrPrivilegeText.text = Language.Get("Gubao23_" + config.PowerType, ItemConfig.Get(config.PowerTypeValue).ItemName, valueDict[config.PowerType]);
            }
Main/System/Gubao/GubaoDetailWin.cs
@@ -242,12 +242,20 @@
                else
                {
                    fullRect.SetActive(false);
                    lvupBtn.SetActive(true);
                    var lvUseCfg = GubaoLVConfig.GetConfig(quality, lv);
                    int itemID = lvUseCfg.LVUPNeedItemInfo[0][0];
                    itemIconImg.SetItemSprite(itemID);
                    itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, lvUseCfg.LVUPNeedItemInfo[0][1]);
                    itemCntText.SetActive(true);
                    if (config.SpecAttrID > 0)
                    {
                        lvupBtn.SetActive(true);
                        var lvUseCfg = GubaoLVConfig.GetConfig(quality, lv);
                        int itemID = lvUseCfg.LVUPNeedItemInfo[0][0];
                        itemIconImg.SetItemSprite(itemID);
                        itemCntText.text = UIHelper.ShowUseItem(PackType.Item, itemID, lvUseCfg.LVUPNeedItemInfo[0][1]);
                        itemCntText.SetActive(true);
                    }
                    else
                    {
                        lvupBtn.SetActive(false);
                        itemCntText.SetActive(false);
                    }
                }
                starupBtn.SetActive(false);
                processRect.SetActive(false);
@@ -485,6 +493,7 @@
        {
            // 1    游历双倍奖励概率    无    增加万分率    万分率
            // 2    月卡领取额外奖励    物品ID    提升百分比    百分比
            // 3    终身卡
            //有特权效果的 非属性类
            attrPrivilegeRect.SetActive(true);
@@ -493,7 +502,7 @@
            {
                attrPrivilegeText.text = Language.Get("Gubao23_" + config.PowerType, valueDict[config.PowerType] / 100.0);
            }
            else if (config.PowerType == 2)
            else if (config.PowerType == 2 || config.PowerType == 3)
            {
                attrPrivilegeText.text = Language.Get("Gubao23_" + config.PowerType, ItemConfig.Get(config.PowerTypeValue).ItemName, valueDict[config.PowerType]);
            }
@@ -510,7 +519,7 @@
                {
                    addValue = config.PowerPerStarAdd / 100.0f;
                }
                else if (config.PowerType == 2)
                else if (config.PowerType == 2 || config.PowerType == 3)
                {
                    addValue = config.PowerPerStarAdd;
                }
@@ -566,6 +575,11 @@
        if (gbData == null)
            return;
        var config = GubaoConfig.Get(gubaoID);
        if (config.SpecAttrID == 0)
        {
            return;
        }
        var lvConfig = GubaoLVConfig.GetConfig(gbData.Quality, gbData.GubaoLV);
        //检查材料
Main/System/Gubao/GubaoManager.cs
@@ -356,6 +356,10 @@
        }
        //判断消耗
        var config = GubaoConfig.Get(gubaoID);
        if (config.SpecAttrID == 0)
        {
            return false;
        }
        var lvConfig = GubaoLVConfig.GetConfig(config.GubaoQuality, gubaoInfo.GubaoLV);
        if (lvConfig == null)
        {
@@ -477,7 +481,7 @@
        {
            star = gubaoInfo.GubaoStar;
            lv = gubaoInfo.GubaoLV;
            layer = gubaoInfo.EffLayer;
            layer = config.SpecEffType != 0 ? gubaoInfo.EffLayer : 1;
        }
        //特殊效果属性计算 = (取整)((初始值 + 每星成长 * 星级 + 品质等级总属性/总层级)* 特殊层)
@@ -778,25 +782,21 @@
    public void GubaoCallRedPoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HappyFindTreasure))
            return;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
        // 免费 10连 
        gbCallFreeRP.state = RedPointState.None;
        gbCall10RP.state = RedPointState.None;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.GuaBao))
            return;
        if (HappyXBModel.Instance.IsHaveFreeXB((int)HappXBTitle.Gubao))
        {
            gbCallFreeRP.state = PlayerDatas.Instance.baseData.realmLevel >= 1 ?RedPointState.GetReward : RedPointState.Simple;
            gbCallFreeRP.state = RedPointState.Simple;
        }
        if (HappyXBModel.Instance.IsHaveManyXBToolEx((int)HappXBTitle.Gubao, out int xbtoolCnt, out int needtoolCnt, out int needMoney))
        {
            gbCall10RP.state = PlayerDatas.Instance.baseData.realmLevel >= 1 ?RedPointState.GetReward : RedPointState.Simple;
            gbCall10RP.state = RedPointState.Simple;
            return;
        }
    }
Main/System/Gubao/GubaoTipWin.cs
@@ -214,7 +214,7 @@
            {
                specialText.text = Language.Get("Gubao23_" + config.PowerType, valueDict[config.PowerType] / 100.0);
            }
            else if (config.PowerType == 2)
            else if (config.PowerType == 2 || config.PowerType == 3)
            {
                specialText.text = Language.Get("Gubao23_" + config.PowerType, ItemConfig.Get(config.PowerTypeValue).ItemName, valueDict[config.PowerType]);
            }
Main/System/Guild/GuildManager.cs
@@ -46,6 +46,7 @@
    {
        ParseConfig();
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEx;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
        PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
        TimeMgr.Instance.OnHourEvent += UpdateZBGRedpoint;
@@ -53,6 +54,7 @@
    public override void Release()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitialize;
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEx;
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
        PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
        TimeMgr.Instance.OnHourEvent -= UpdateZBGRedpoint;
@@ -65,6 +67,12 @@
        donateCntList = null;
    }
    void OnBeforePlayerDataInitializeEx()
    {
        guildChanged = false;
        isQueryZBGYet = false;
    }
    void OnPlayerLoginOk()
    {
        UpdateDonateRedPoint();
Main/System/HappyXB/HappyXBModel.cs
@@ -513,11 +513,6 @@
            qualityList.Add(3);
            qualityList.Add(4);
        }
        else if (type == (int)HappXBTitle.HeroCallAdvanced)
        {
            qualityList.Add(4);
            qualityList.Add(5);
        }
        XBTypeInfo typeInfo = GetXBInfoByType(type);
@@ -534,6 +529,12 @@
        {
            if (typeInfo.luckValue < luckList[i])
            {
                if (type == (int)HappXBTitle.HeroCallAdvanced)
                {
                    //把二维数组里的所有第二个元素组成新列表
                    qualityList = xbConfig.LuckyItemRateInfo[luckList[i]].Select(x => x[1]).ToList();
                    qualityList.Sort();
                }
                return luckList[i] - typeInfo.luckValue;
            }
        }
Main/System/HeroUI/HeroRebornWin.cs
@@ -189,7 +189,7 @@
    private void ConfirmBtn()
    {
        if (HeroUIManager.Instance.awakeRebirthCnt >= HeroUIManager.Instance.rebornAwakeHeroMaxCount)
        if (awakeToggle.isOn && HeroUIManager.Instance.awakeRebirthCnt >= HeroUIManager.Instance.rebornAwakeHeroMaxCount)
        {
            SysNotifyMgr.Instance.ShowTip("HeroRebornAwakeMax");
            return;
Main/Utility/OperationLogCollect.cs
@@ -191,18 +191,18 @@
    public void ChatReport(string content, string channelName, string toPlayer, int chatType)
    {
// #if !UNITY_EDITOR
//         bool isFairy = false; //chatType == ChatInfoType.Fairy;
//         bool isFairy = chatType == 3;
//         var tables = new Dictionary<string, string>();
//         tables["ProductID"] = VersionConfig.Get().gameId;
//         tables["OperatorID"] = VersionConfig.Get().appId;
//         tables["OperatorName"] = string.Empty;
//         tables["RegionName"] = StringUtility.Concat("s", ServerListCenter.Instance.currentServer.region_flag);
//         tables["RegionName"] = StringUtility.Concat("s", ServerListCenter.Instance.currentServer.region_flag.ToString());
//         tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString();
//         tables["EventID"] = 9003.ToString();
//         tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
//         tables["IP"] = DeviceUtility.GetIp();
//         tables["ChatChannel"] = channelName;
//         var sdkLoginResult = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult;
//         var sdkLoginResult = LoginManager.Instance.sdkLoginResult;
//         tables["AccountID"] = sdkLoginResult == null ? string.Empty : sdkLoginResult.account;
//         tables["RoleID"] = StringUtility.Concat(isFairy ? UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.FamilyName) : string.Empty,
//            isFairy ? "-" : string.Empty, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName));
@@ -210,7 +210,7 @@
//         tables["Level"] = PlayerDatas.Instance.baseData.LV.ToString();
//         tables["VIPLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
//         tables["Content"] = WWW.EscapeURL(UIHelper.TrimContentToServer(content));
//         tables["DeviceFlag"] = ynmbxxjUtil.Instance.Device == null ? string.Empty : ynmbxxjUtil.Instance.Device.uniqueID;
//         tables["DeviceFlag"] = SDKUtils.Instance.Device == null ? string.Empty : SDKUtils.Instance.Device.uniqueID;
//         HttpRequest.Instance.RequestHttpGet(StringUtility.Concat(chatReportUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType);
// #endif
Main/Utility/UIHelper.cs
@@ -335,6 +335,8 @@
        }
    }
    // 取名验证
    static Regex s_SpecialCharacterRegex = new Regex("[()()@!#$%^&*[]|_]");
    static Regex s_AsciiCharacterRegex = new Regex("[\x00-\x1F]|[\x21-\x2F]|[\x3A-\x40]|[\x5B-\x60]|[\x7B-\x7E]");
    public static bool HasSpecialCharac(string str)
@@ -350,6 +352,17 @@
        return false;
    }
    //聊天
    static Regex s_AsciiCharacterRegexChat = new Regex("[\x00-\x1F]");
    public static bool HasSpecCheckChat(string str)
    {
        if (s_AsciiCharacterRegexChat.IsMatch(str))
        {
            return true;
        }
        return false;
    }
    // 检查字符串是不是纯整数
    public static bool IsNumeric(string input)
    {