Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts
| | |
| | | |
| | | 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 |
| | |
| | | totalActivityText.text = Language.Get("BattlePassValue3", totalValue / 100, totalValue % 100);
|
| | | break;
|
| | | }
|
| | | case BattlePassType.BetterMainLine:
|
| | | {
|
| | | totalActivityText.text = Language.Get("BattlePassValue3", totalValue / 100, totalValue % 100);
|
| | | break;
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | {3, 40}, |
| | | {4, 28}, |
| | | {5, 27}, |
| | | {7, 53}, |
| | | }; |
| | | |
| | | public int[] battlePassTypeSortList; |
| | |
| | | totalValue = (int)battlePassData.value1; |
| | | break; |
| | | } |
| | | case BattlePassType.BetterMainLine: |
| | | { |
| | | //通关的 找上一关值 |
| | | totalValue = MainLevelConfig.GetPassedLevel(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (HasAnyAward(_type, totalValue)) |
| | |
| | | case BattlePassType.MainLine: |
| | | case BattlePassType.GuBao: |
| | | case BattlePassType.Arena: |
| | | case BattlePassType.BetterMainLine: |
| | | { |
| | | UpdateCommonBPRedpoint(type); |
| | | break; |
| | |
| | | { |
| | | return (int)battlePassData.value1; |
| | | } |
| | | case BattlePassType.BetterMainLine: |
| | | { |
| | | //通关的 找上一关值 |
| | | return MainLevelConfig.GetPassedLevel(); |
| | | } |
| | | } |
| | | return 0; |
| | | } |
| | |
| | | GuBao = 4, //古宝 |
| | | Arena = 5, //演武场 |
| | | Week = 6, //周战令 |
| | | BetterMainLine = 7, //高级关卡基金 |
| | | } |
| | |
| | | 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(); |
| | |
| | | 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) |
| | | { |
| | |
| | | { |
| | | 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(); |
| | | } |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (DirtyWordConfig.IsDirtWord(info) || UIHelper.HasSpecialCharac(info) |
| | | if (DirtyWordConfig.IsDirtWord(info) || UIHelper.HasSpecCheckChat(info) |
| | | || DirtyNameConfig.IsDirtName(info)) |
| | | { |
| | | errorCode = 3; |
| | |
| | | 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; //聊天数量上限 |
| | |
| | | { |
| | | 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]); |
| | | } |
| | |
| | | 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); |
| | |
| | | { |
| | | // 1 游历双倍奖励概率 无 增加万分率 万分率 |
| | | // 2 月卡领取额外奖励 物品ID 提升百分比 百分比 |
| | | // 3 终身卡 |
| | | |
| | | //有特权效果的 非属性类 |
| | | attrPrivilegeRect.SetActive(true); |
| | |
| | | { |
| | | 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]); |
| | | } |
| | |
| | | { |
| | | addValue = config.PowerPerStarAdd / 100.0f; |
| | | } |
| | | else if (config.PowerType == 2) |
| | | else if (config.PowerType == 2 || config.PowerType == 3) |
| | | { |
| | | addValue = config.PowerPerStarAdd; |
| | | } |
| | |
| | | if (gbData == null) |
| | | return; |
| | | |
| | | var config = GubaoConfig.Get(gubaoID); |
| | | if (config.SpecAttrID == 0) |
| | | { |
| | | return; |
| | | } |
| | | var lvConfig = GubaoLVConfig.GetConfig(gbData.Quality, gbData.GubaoLV); |
| | | |
| | | //检查材料 |
| | |
| | | } |
| | | //判断消耗 |
| | | var config = GubaoConfig.Get(gubaoID); |
| | | if (config.SpecAttrID == 0) |
| | | { |
| | | return false; |
| | | } |
| | | var lvConfig = GubaoLVConfig.GetConfig(config.GubaoQuality, gubaoInfo.GubaoLV); |
| | | if (lvConfig == null) |
| | | { |
| | |
| | | { |
| | | star = gubaoInfo.GubaoStar; |
| | | lv = gubaoInfo.GubaoLV; |
| | | layer = gubaoInfo.EffLayer; |
| | | layer = config.SpecEffType != 0 ? gubaoInfo.EffLayer : 1; |
| | | } |
| | | |
| | | //特殊效果属性计算 = (取整)((初始值 + 每星成长 * 星级 + 品质等级总属性/总层级)* 特殊层) |
| | |
| | | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | { |
| | | 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]); |
| | | } |
| | |
| | | {
|
| | | ParseConfig();
|
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
|
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEx;
|
| | | DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
|
| | | PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
|
| | | TimeMgr.Instance.OnHourEvent += UpdateZBGRedpoint;
|
| | |
| | | public override void Release()
|
| | | {
|
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitialize;
|
| | | DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEx;
|
| | | DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
|
| | | PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
|
| | | TimeMgr.Instance.OnHourEvent -= UpdateZBGRedpoint;
|
| | |
| | | donateCntList = null;
|
| | | }
|
| | |
|
| | | void OnBeforePlayerDataInitializeEx()
|
| | | {
|
| | | guildChanged = false;
|
| | | isQueryZBGYet = false;
|
| | | }
|
| | |
|
| | | void OnPlayerLoginOk()
|
| | | {
|
| | | UpdateDonateRedPoint();
|
| | |
| | | qualityList.Add(3);
|
| | | qualityList.Add(4);
|
| | | }
|
| | | else if (type == (int)HappXBTitle.HeroCallAdvanced)
|
| | | {
|
| | | qualityList.Add(4);
|
| | | qualityList.Add(5);
|
| | | }
|
| | |
|
| | |
|
| | | XBTypeInfo typeInfo = GetXBInfoByType(type);
|
| | |
| | | {
|
| | | 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;
|
| | | }
|
| | | }
|
| | |
| | |
|
| | | private void ConfirmBtn()
|
| | | {
|
| | | if (HeroUIManager.Instance.awakeRebirthCnt >= HeroUIManager.Instance.rebornAwakeHeroMaxCount)
|
| | | if (awakeToggle.isOn && HeroUIManager.Instance.awakeRebirthCnt >= HeroUIManager.Instance.rebornAwakeHeroMaxCount)
|
| | | {
|
| | | SysNotifyMgr.Instance.ShowTip("HeroRebornAwakeMax");
|
| | | return;
|
| | |
| | | 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));
|
| | |
| | | // 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
|
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | // 取名验证 |
| | | 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) |
| | |
| | | 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) |
| | | { |