少年修仙传客户端代码仓库
client_linchunjie
2018-09-20 052bb69a8b50948052165847ea44312b8d4f6607
Merge branch 'master' into 1871天赋功能
48个文件已修改
920 ■■■■ 已修改文件
Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA5C4_tagCMDogzEquipPlus.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hooks/commit-msg 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCenter.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCtrl.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatSendComponent.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWinModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzCell.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/SelectCell.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/WarehouseTipsWin.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/PersonalBossModel.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/BestXBWin.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBModel.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/RuneXBWin.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/XBItemCell.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOverdueModel.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FeatureNoticeWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FeaturesType2.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FlyingShoesTask.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerMainDate.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerTaskDatas.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SideMission.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SkillTaskWin.cs 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskAllocation.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskListTip.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/FlashSaleWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillModel.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillPassWin.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastAttributes.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastEntry.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Team/TeamModel.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasurePotentialPanel.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureSoulWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/LimitedTimePackageWin.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/VipInvestModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/VipInvestWin.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/FontUtility.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/LanguageVerify.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/Editor/AssetBundleBrowser/AssetBundleBuildTab.cs
@@ -571,7 +571,7 @@
        private void ExcuteBuildUI()
        {
            AssetSource.allFromEditor = true;
            CheckFontSwitch.CheckAndReplaceFontSwitch();
            //CheckFontSwitch.CheckAndReplaceFontSwitch();
            UpdateUIPrefabSetting.SetAllUIPrefabAssetBundleName();
            UpdateUIWindowSetting.SetAllUIWindowAssetBundleName();
            UpdateSpriteSetting.SetAllSpriteAssetBundleName();
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Monday, September 03, 2018
//    [  Date ]:           Thursday, September 20, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -20,6 +20,7 @@
        public string itemAward { get ; private set; } 
        public int[] successList;
        public int treasureId { get ; private set ; }
        public int sort { get ; private set ; }
        public string Icon { get ; private set; } 
        public string Name { get ; private set; } 
        public string targetDescription { get ; private set; } 
@@ -56,13 +57,15 @@
            
                treasureId=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0; 
            
                Icon = rawContents[9].Trim();
                sort=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0;
            
                Name = rawContents[10].Trim();
                Icon = rawContents[10].Trim();
            
                targetDescription = rawContents[11].Trim();
                Name = rawContents[11].Trim();
            
                effectId=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                targetDescription = rawContents[12].Trim();
                effectId=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
            }
            catch (Exception ex)
            {
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 761a8477b6259554ab927daec347dba7
timeCreated: 1535981375
timeCreated: 1537429075
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs
@@ -54,6 +54,7 @@
    public int pkState;//是否在pk中 175 1--进入状态 2--退出状态
    public int bossState;//Boss状态  176 1--进入状态 2--退出状态
    public int OnlyFinalHurt;
    public int forbidenTalk;
    public int NpcHurtAddPer;//对怪物伤害加成 188
    public int FunalHurtPer;//对怪物伤害加成 189
}
Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -734,6 +734,9 @@
            case PlayerDataRefresh.FunalHurtPer:
                extersion.FunalHurtPer = (int)value;
                break;
            case PlayerDataRefresh.CDBPlayerRefresh_ForbidenTalk:
                extersion.forbidenTalk = (int)value;
                break;
        }
    }
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA5C4_tagCMDogzEquipPlus.cs
@@ -1,45 +1,25 @@
using UnityEngine;
using System.Collections;
// A5 C4 神兽装备强化 #tagCMDogzEquipPlus
public class CA5C4_tagCMDogzEquipPlus : GameNetPackBasic {
    public byte EquipIndex;    //神兽装备背包中索引
    public byte IndexCount;    //材料所在神兽物品背包索引的数量
    public  byte[] IndexList;    //材料所在神兽物品背包索引列表
    public byte IsDouble;    //是否双倍强化
    public CA5C4_tagCMDogzEquipPlus () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA5C4;
    }
    public override void WriteToBytes () {
        WriteBytes (EquipIndex, NetDataType.BYTE);
        WriteBytes (IndexCount, NetDataType.BYTE);
        WriteBytes (IndexList, NetDataType.BYTE, IndexCount);
        WriteBytes (IsDouble, NetDataType.BYTE);
    }
}
// A5 C4 神兽装备强化 #tagCMDogzEquipPlus
public class CA5C4_tagCMDogzEquipPlus : GameNetPackBasic {
    public byte EquipIndex;    //神兽装备背包中索引
    public byte IndexCount;    //材料所在神兽物品背包索引的数量
    public  byte[] IndexList;    //材料所在神兽物品背包索引列表
    public  uint[] IndexUseCountList;    //材料所在神兽物品背包索引对应使用个数列表
    public byte IsDouble;    //是否双倍强化
    public CA5C4_tagCMDogzEquipPlus () {
        _cmd = (ushort)0xA5C4;
    }
    public override void WriteToBytes () {
        WriteBytes (EquipIndex, NetDataType.BYTE);
        WriteBytes (IndexCount, NetDataType.BYTE);
        WriteBytes (IndexList, NetDataType.BYTE, IndexCount);
        WriteBytes (IndexUseCountList, NetDataType.DWORD, IndexCount);
        WriteBytes (IsDouble, NetDataType.BYTE);
    }
}
Hooks/commit-msg
@@ -1,9 +1,9 @@
#!/bin/sh
# -*- coding: UTF-8 -*- 
if [ "$(grep -in '^[0-9]*[1-9][0-9]* .*' "$1")" == "" ] && [ "$(grep -in '^Merge .*' "$1")" == "" ] && [ "$(grep -in '^Revert .*' "$1")" == "" ]; then
if [ "$(grep -in '^[0-9]\{4,5\} .*' "$1")" == "" ] && [ "$(grep -in '^Merge .*' "$1")" == "" ] && [ "$(grep -in '^Revert .*' "$1")" == "" ]; then
    echo 以下3种是正确的备注信息是:
    echo 1. 12345 正常提交备注信息必须以数字单号开头。#数字单号后面带空格#
    echo 1. 12345 正常提交备注信息必须以4到5位数字单号开头。#数字单号后面带空格#
    echo 2. Merge 以Merge开头说明这是一次git合并操作,这是被允许的。#Merge后面带空格#
    echo 3. Revert 以Revert开头说明这是一次git还原操作,这是被允许的。#Revert后面带空格#
    exit 1
System/Chat/ChatCenter.cs
@@ -304,6 +304,11 @@
        const string downloadUrl = "http://{0}.voice.2460web.com:53001/voice/download";
        private void SendSpeech(byte[] encode, long _tick)
        {
            if (IsChatBanned)
            {
                SaveSpeech((int)PlayerDatas.Instance.PlayerId, _tick, encode);
                return;
            }
            VoiceHttpRequest.Instance.Enqueue(encode, _tick, (int)PlayerDatas.Instance.PlayerId);
        }
@@ -818,6 +823,86 @@
        }
        #endregion
        #region 聊天黑名单
        public string SetChatExtra()
        {
            var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
            var job = PlayerDatas.Instance.baseData.Job;
            return StringUtility.Contact(vipLevel.ToString().PadLeft(2, '0'), 0, job);
        }
        public void HandleChatBanned(ChatInfoType channel, string message, int toPlayer)
        {
            if (IsChatBanned)
            {
                var playerId = PlayerDatas.Instance.baseData.PlayerID;
                var playerName = UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName);
                switch (channel)
                {
                    case ChatInfoType.World:
                        ChatCtrl.Inst.RevChatInfo(new H0201_tagTalkGong()
                        {
                            Content = message,
                            Extras = SetChatExtra(),
                            PlayerID = playerId,
                            Name = playerName,
                        });
                        break;
                    case ChatInfoType.Area:
                        ChatCtrl.Inst.RevChatInfo(new H0207_tagTalkArea()
                        {
                            Content = message,
                            Extras = SetChatExtra(),
                            PlayerID = playerId,
                            SrcName = playerName,
                        });
                        break;
                    case ChatInfoType.Team:
                        ChatCtrl.Inst.RevChatInfo(new H0205_tagTalkDui()
                        {
                            PlayerID = playerId,
                            Name = playerName,
                            Content = message,
                            Extras = SetChatExtra(),
                        });
                        break;
                    case ChatInfoType.Fairy:
                        ChatCtrl.Inst.RevChatInfo(new H0203_tagTalkBang()
                        {
                            PlayerID = playerId,
                            Content = message,
                            Extras = SetChatExtra(),
                            Name = playerName,
                        });
                        break;
                    case ChatInfoType.Friend:
                        ChatCtrl.Inst.RevChatInfo(new H0206_tagTalkMi()
                        {
                            PlayerID = playerId,
                            SrcName = playerName,
                            Content = message,
                            Extras = SetChatExtra(),
                            ToPlayerID = (uint)toPlayer,
                            ToName = string.Empty,
                            TalkType = 1,
                        });
                        break;
                }
            }
        }
        public bool IsChatBanned
        {
            get
            {
                var value = PlayerDatas.Instance.extersion.forbidenTalk;
                var serverBanned = value == 1;
                return serverBanned;
            }
        }
        #endregion
    }
}
System/Chat/ChatCtrl.cs
@@ -210,6 +210,10 @@
    {
        try
        {
            if (chatCenter.IsChatBanned)
            {
                return;
            }
            var channelName = string.Empty;
            switch (chatType)
            {
@@ -247,7 +251,8 @@
    public void SendChatInfo(ChatInfoType type, string msg, ChatExtraData? info = null)
    {
        bool _dirty = false;
        bool isDirty = false;
        bool isVoice = ChatCenter.s_VoiceRegex.IsMatch(msg);
        if (CheckEmptyChat(msg))
        {
@@ -257,10 +262,9 @@
        ChatReport(type, msg, PteChatName);
        if (!ChatCenter.s_VoiceRegex.IsMatch(msg)
            && !InviteRegex.IsMatch(msg))
        if (!isVoice && !InviteRegex.IsMatch(msg))
        {
            _dirty = DirtyWordConfig.IsDirtWord(msg);
            isDirty = DirtyWordConfig.IsDirtWord(msg);
            msg = DirtyWordConfig.IsDirtWord(msg, '*');
            var length = msg.Length;
            if (length > CHAT_INFO_CNT)
@@ -276,12 +280,24 @@
             if (ok)
             {
                 ChatCenter.RecentlyChat _recentlyChat = null;
                 if (!_dirty)
                 if (!isDirty && !isVoice)
                 {
                     _recentlyChat = chatCenter.SaveRecentlyChat(result);
                 }
                 msg = CheckHasItem(result, _recentlyChat);
                 chatCenter.recentlyChat = null;
                 if (chatCenter.IsChatBanned)
                 {
                     var toPlayer = PteChatID;
                     if (info.HasValue && info.Value.infoint1 == 0)
                     {
                         toPlayer = info.Value.infoint1;
                     }
                     chatCenter.HandleChatBanned(type, msg, toPlayer);
                     return;
                 }
                 switch (type)
                 {
                     case ChatInfoType.World:
@@ -347,11 +363,6 @@
                                 _pak.Text = msg;
                                 GameNetSystem.Instance.SendInfo(_pak);
                             }
                         }
                         break;
                     case ChatInfoType.Invite:
                         {
                             SendInvite(msg);
                         }
                         break;
                 }
@@ -649,10 +660,18 @@
                    ItemConfig cfg = Config.Instance.Get<ItemConfig>(itemID);
                    if (cfg != null)
                    {
                        string append = string.Format("<a><Word info=item id={1} userdata={5} chatsend=1/>|showitem={1} isbind={2} itemcnt={3} stone={4} userdata={5} suitLv={6} suitCnt={7} place={8} equipwash={9}</a>",
                            cfg.ItemColor, strarray[0], strarray[1], strarray[2], strarray[3], strarray[4], strarray[5], strarray[6], strarray[7], strarray[8]);
                        append = UIHelper.GetTextColorByItemColor(cfg.ItemColor, append);
                        data.richText.Append(append);
                        try
                        {
                            string append = string.Format("<a><Word info=item id={0} userdata={4} chatsend=1/>|showitem={0} isbind={1} itemcnt={2} stone={3} userdata={4} suitLv={5} suitCnt={6} place={7} equipwash={8}</a>",
                                      strarray[0], strarray[1], strarray[2], strarray[3], strarray[4], strarray[5], strarray[6], strarray[7], strarray[8]);
                            append = UIHelper.GetTextColorByItemColor(cfg.ItemColor, append);
                            data.richText.Append(append);
                        }
                        catch (Exception e)
                        {
                            data.richText.Append(cfg.ItemName);
                            DebugEx.Log(e.Message);
                        }
                    }
                }
                else
System/Chat/ChatSendComponent.cs
@@ -84,6 +84,10 @@
            SinglePackModel singlePack = _packModel.GetSinglePackModel(PackType.rptItem);
            if (ChatCtrl.Inst.presentChatType == ChatInfoType.Trumpet)
            {
                if (chatCenter.IsChatBanned)
                {
                    return;
                }
                List<ItemModel> _list = null;
                var _count = singlePack.GetItemCountByID(chatCenter.bugleItem, out _list);
                if (_count < 1)
System/Compose/New/ComposeWinModel.cs
@@ -854,6 +854,20 @@
        }
    }
    public bool CheckIsComposeByType(int firstType,int secondType,int thirdType)
    {
        ItemCompoundConfig itemCompound = GetThirdTypeModellist(firstType,secondType,thirdType)[0];
        if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
        {
            return true;
        }
        else
        {
            SysNotifyMgr.Instance.ShowTip("TicketComposeUnlock", itemCompound.levelNeed, itemCompound.secondTypeName);
            return false;
        }
    }
    public int secondType { get; private set; }
    public int thirdType { get; private set;}
    public void SetJumpToModel(ComposeFuncType type,int secondType,int thirdType)
System/Dogz/DogzCell.cs
@@ -9,6 +9,7 @@
    public class DogzCell : ScrollerUI
    {
        [SerializeField] Image m_DogzIcon;
        [SerializeField] RectTransform m_DogzIconRect;
        [SerializeField] Image m_DogzAssist;
        [SerializeField] Text m_DogzName;
        [SerializeField] Text m_DogzGrade;
@@ -22,11 +23,13 @@
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzModel>());
            }
        }
        public override void Refresh(CellView cell)
        {
            var _dogzCfg = Config.Instance.Get<DogzConfig>(cell.index);
            m_DogzIcon.SetSprite(_dogzCfg.HeadIcon);
            m_DogzIcon.SetNativeSize();
            m_DogzIconRect.sizeDelta = new Vector2(m_DogzIconRect.sizeDelta.x/2,m_DogzIconRect.sizeDelta.y/2);
            var _dogzEquips = model.GetDogzEquips(_dogzCfg.ID);
            bool isActive = (_dogzEquips == null || _dogzEquips.Count < 5) ? false : true;
            m_DogzName.text = _dogzCfg.Name;
@@ -34,16 +37,16 @@
            if (isActive)
            {
                m_DogzIcon.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                m_DogzName.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                m_DogzGrade.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                m_DogzName.color = UIHelper.s_NavyBrown;
                m_DogzGrade.color = UIHelper.s_BrightOrangeColor;
            }
            else
            {
                m_DogzIcon.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                m_DogzName.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                m_DogzGrade.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                m_DogzName.color = UIHelper.s_BrightWhiteColor;
                m_DogzGrade.color = UIHelper.s_BrightWhiteColor;
            }
            m_DogzBtn.image.color = model.presentSelectDogz == _dogzCfg.ID ? Color.blue : Color.white;
            m_DogzBtn.image.SetSprite(model.presentSelectDogz == _dogzCfg.ID ? "Title_RightWindow" : "Title_PopupWindow");
            m_DogzAssist.gameObject.SetActive(model.TryGetAssistDogzState(_dogzCfg.ID));
            m_DogzBtn.onClick.RemoveAllListeners();
            m_DogzBtn.onClick.AddListener(() =>
System/Dogz/DogzModel.cs
@@ -448,16 +448,22 @@
            GameNetSystem.Instance.SendInfo(buyCnt);
        }
        public void SendDogzEquipStrength(int index,List<int>indexlist,int isDouble)
        public void SendDogzEquipStrength(int index,List<int>indexlist,List<int> IndexUseCountList, int isDouble)
        {
            CA5C4_tagCMDogzEquipPlus dogzStren = new CA5C4_tagCMDogzEquipPlus();
            dogzStren.EquipIndex = (byte)index;
            dogzStren.IndexCount = (byte)indexlist.Count;
            byte[] indexByte = new byte[indexlist.Count];
            for(int i = 0; i < indexByte.Length; i++)
            uint[] indexUseCountList = new uint[indexlist.Count];
            for (int i = 0; i < indexByte.Length; i++)
            {
                indexByte[i] = (byte)indexlist[i];
            }
            for (int i = 0; i < indexUseCountList.Length; i++)
            {
                indexUseCountList[i] = (uint)IndexUseCountList[i];
            }
            dogzStren.IndexUseCountList = indexUseCountList;
            dogzStren.IndexList = indexByte;
            dogzStren.IsDouble = (byte)isDouble;
            GameNetSystem.Instance.SendInfo(dogzStren);
@@ -490,7 +496,7 @@
        public bool IsReachSelectCondi(int itemId)
        {
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(itemId);
            if (itemConfig == null) return false;
            if (itemConfig == null || itemConfig.EquipPlace == 0) return false;
            if (SelectDogzItemQuality == 0 && SelectDogzItemStart == 0) return true;
System/Dogz/DogzWin.cs
@@ -73,6 +73,10 @@
        private void OnOpenFuncEvent(int order)
        {
            funcBtnGroup.TriggerByOrder(order);
            if(WindowCenter.Instance.CheckOpen<DogzPackWin>())
            {
                WindowCenter.Instance.CloseImmediately<DogzPackWin>();
            }
        }
        private void OnDogzStrengthen()
System/Dogz/SelectCell.cs
@@ -19,7 +19,7 @@
            ItemModel model = dogzModel.selectEquipPlacelist[cell.index];
            nameTex.text = model.chinItemModel.ItemName;
            nameTex.color = UIHelper.GetUIColor(model.chinItemModel.ItemColor);
            nameTex.color = UIHelper.GetUIColor(model.chinItemModel.ItemColor,true);
            itemBaisc.Init(model);
            int strenLv = 0;
            if (model.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null)
System/FairyAu/FairyModel.cs
@@ -607,6 +607,7 @@
            page = 0;
            OnSearchPageList();
            AddFairyRed = LocalSave.GetBool(StringUtility.Contact(FairyKey, PlayerDatas.Instance.PlayerId));
            UpdateFairyInfo();
        }
        #endregion
System/FairyAu/WarehouseTipsWin.cs
@@ -70,6 +70,7 @@
        [SerializeField] Toggle _Togle_13;//十三阶
        [SerializeField] Toggle _Togle_14;//十四阶
        [SerializeField] Toggle _Togle_15;//十五阶
        [SerializeField] Toggle m_Toggle_Start;
        [SerializeField] Text _CountText;//获取当前的积分值
        [SerializeField] GameObject _Dropdown2;//阶数界面
@@ -128,6 +129,7 @@
            QueryFamilyAction();//家族行为信息查询
            _Dropdown.SetActive(false);
            _Dropdown2.SetActive(false);
            m_Toggle_Start.gameObject.SetActive(false);
            _ExitBtn.gameObject.SetActive(false);
            _DeleteBtn.gameObject.SetActive(false);
            _DonateBtn.gameObject.SetActive(true);
@@ -344,6 +346,7 @@
            _Togle_13.onValueChanged.AddListener(delegate (bool _bool) { Togle_13(_bool); });
            _Togle_14.onValueChanged.AddListener(delegate (bool _bool) { Togle_14(_bool); });
            _Togle_15.onValueChanged.AddListener(delegate (bool _bool) { Togle_15(_bool); });
            m_Toggle_Start.onValueChanged.AddListener(ToggleStar);
        }
        void CloseButton()//关闭按钮
@@ -376,6 +379,7 @@
            {
                ScrollViewFirst.SetActive(false);
                ScrollViewSecond.SetActive(false);
                m_Toggle_Start.gameObject.SetActive(true);
                _ExitBtn.gameObject.SetActive(false);
                _CleanBtn.gameObject.SetActive(false);
                _Dropdown.SetActive(true);
@@ -400,6 +404,7 @@
            _WarehouseCountBG.SetActive(true);
            _Dropdown.SetActive(false);
            _Dropdown2.SetActive(false);
            m_Toggle_Start.gameObject.SetActive(false);
            _ExitBtn.gameObject.SetActive(false);
            _DeleteBtn.gameObject.SetActive(false);
            _bool = false;
@@ -816,7 +821,10 @@
            }
        }
        private void ToggleStar(bool isBool)
        {
            SelectiveCleaningEquipment();//选择销毁
        }
        #endregion
@@ -827,14 +835,29 @@
            Item_lv = type_B;
            Item_Color = type_A;
            _EquipmentArray.Clear();
            foreach (int key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys)
            if (m_Toggle_Start.isOn)
            {
                var itemConfig = Config.Instance.Get<ItemConfig>(playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID);
                if ((Item_lv >= itemConfig.LV && Item_Color >= itemConfig.ItemColor && playerFairyAuTreasureData._DicfamilyStoreItem[key].Index != 0))
                foreach (int key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys)
                {
                    _EquipmentArray.Add(playerFairyAuTreasureData._DicfamilyStoreItem[key].Index, true);
                    var itemConfig = Config.Instance.Get<ItemConfig>(playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID);
                    if ((Item_lv >= itemConfig.LV && Item_Color >= itemConfig.ItemColor && playerFairyAuTreasureData._DicfamilyStoreItem[key].Index != 0 && itemConfig.StarLevel <= 1))
                    {
                        _EquipmentArray.Add(playerFairyAuTreasureData._DicfamilyStoreItem[key].Index, true);
                    }
                }
            }
            else
            {
                foreach (int key in playerFairyAuTreasureData._DicfamilyStoreItem.Keys)
                {
                    var itemConfig = Config.Instance.Get<ItemConfig>(playerFairyAuTreasureData._DicfamilyStoreItem[key].ItemID);
                    if ((Item_lv >= itemConfig.LV && Item_Color >= itemConfig.ItemColor && playerFairyAuTreasureData._DicfamilyStoreItem[key].Index != 0 && itemConfig.StarLevel<=0))
                    {
                        _EquipmentArray.Add(playerFairyAuTreasureData._DicfamilyStoreItem[key].Index, true);
                    }
                }
            }
            _GridlineCtrl.m_Scorller.RefreshActiveCellViews();//刷新当前可见       
        }
        int Color_T()//返回值1
System/FindPrecious/PersonalBossModel.cs
@@ -148,9 +148,8 @@
                return;
            }
            personalRedpoint.count = own / ticketItem.count;
            personalRedpoint.count = Mathf.Clamp(own / ticketItem.count, 0, totalTimes - enterTimes);
            personalRedpoint.state = RedPointState.Quantity;
        }
        private void ParseConfig()
System/HappyXB/BestXBWin.cs
@@ -54,7 +54,10 @@
        [SerializeField] float maxTimeInter = 0.6f;
        [Header("最小时间间隔")]
        [SerializeField] float minTimeInter = 0.005f;
        [Header("闪烁次数")]
        [SerializeField] public int flashingTimes = 10;
        [Header("单次闪烁时间")]
        [SerializeField] public  float flashingTime = 0.2f;
        [Header("得到物品停留时间")]
        [SerializeField] float stopTime = 2f;
        [Header("寻宝得到物品动画时间")]
@@ -434,6 +437,14 @@
                {
                    if (cycle > cycleTimes)
                    {
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].CheckToFlashing(1,curSelectIndex);
                        }
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].RefreshSelectIcon(curSelectIndex);
                        }
                        if (isXBMany)
                        {
                            if (targetIndex >= targetIndexs.Count - 1)
@@ -495,7 +506,16 @@
        IEnumerator PlaySelectItemAni(bool isEndXB,int targetIndex = 0,int curSelectIndex = 0)
        {
            yield return new WaitForSeconds(stopTime);
            XBGetItemConfig getItemConfig = XBModel.GetXBItemConfigByType(1);
            if(getItemConfig != null && getItemConfig.LuckyGridNum == curSelectIndex)
            {
                yield return new WaitForSeconds(flashingTime*flashingTimes);
            }
            else
            {
                yield return new WaitForSeconds(stopTime);
            }
            if(isEndXB)
            {
                if(targetIndexs.Count > 1)
System/HappyXB/HappyXBModel.cs
@@ -314,6 +314,28 @@
            return dict;
        }
        public XBGetItemConfig GetXBItemConfigByType(int type)
        {
            int lv = 0;
            List<XBGetItemConfig> configlist = null;
            xbTypeItemDict.TryGetValue(type, out configlist);
            if (configlist != null)
            {
                for (int i = configlist.Count - 1; i > -1; i--)
                {
                    if (PlayerDatas.Instance.baseData.LV >= configlist[i].MinLV)
                    {
                        lv = configlist[i].MinLV;
                        break;
                    }
                }
            }
            XBGetItemConfig xbItemConfig = null;
            string key = StringUtility.Contact(type, lv);
            xbGetItemDict.TryGetValue(key,out xbItemConfig);
            return xbItemConfig;
        }
        #region 处理服务端数据
        public event Action RefreshXBTypeInfoAct;
        public event Action RefreshXBResultAct;
System/HappyXB/RuneXBWin.cs
@@ -55,6 +55,11 @@
        [SerializeField] float maxTimeInter = 0.6f;
        [Header("最小时间间隔")]
        [SerializeField] float minTimeInter = 0.005f;
        [Header("闪烁次数")]
        [SerializeField] public int flashingTimes = 10;
        [Header("单次闪烁时间")]
        [SerializeField] public float flashingTime = 0.2f;
        [Header("得到物品停留时间")]
        [SerializeField] float stopTime = 0.5f;
        [Header("寻宝得到物品动画时间")]
@@ -444,6 +449,11 @@
                {
                    if (cycle > cycleTimes)
                    {
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].CheckToFlashing(2, curSelectIndex);
                        }
                        if (isXBMany)
                        {
                            if (targetIndex >= targetIndexs.Count - 1)
@@ -503,7 +513,16 @@
        IEnumerator PlaySelectItemAni(bool isEndXB, int targetIndex = 0, int curSelectIndex = 0)
        {
            yield return new WaitForSeconds(stopTime);
            XBGetItemConfig getItemConfig = XBModel.GetXBItemConfigByType(2);
            if (getItemConfig != null && getItemConfig.LuckyGridNum == curSelectIndex)
            {
                yield return new WaitForSeconds(flashingTime * flashingTimes);
            }
            else
            {
                yield return new WaitForSeconds(stopTime);
            }
            if (isEndXB)
            {
                if (targetIndexs.Count > 1)
System/HappyXB/XBItemCell.cs
@@ -2,6 +2,7 @@
using UnityEngine.UI;
using TableConfig;
using System.Collections.Generic;
using System.Collections;
namespace Snxxz.UI
{
@@ -12,6 +13,7 @@
        [SerializeField] Text nameText;
        ItemTipsModel itemTips { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        HappyXBModel XBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
        int xbIndex = 0;
        public void SetModel(int itemId,int count,int index)
@@ -45,5 +47,53 @@
                selectIcon.SetActive(false);
            }
        }
        public void CheckToFlashing(int xbType, int curSelect)
        {
            if (curSelect != xbIndex) return;
            XBGetItemConfig xbItemConfig = XBModel.GetXBItemConfigByType(xbType);
            if (xbItemConfig == null || xbItemConfig.LuckyGridNum != xbIndex) return;
            StartCoroutine(BestItemFlashing(xbType));
        }
        IEnumerator BestItemFlashing(int xbType)
        {
            int num = 0;
            BestXBWin bestXB = null;
            RuneXBWin runeXB = null;
            switch (xbType)
            {
                case 1:
                    bestXB = WindowCenter.Instance.Get<BestXBWin>();
                    break;
                case 2:
                    runeXB = WindowCenter.Instance.Get<RuneXBWin>();
                    break;
            }
            int flashingTimes = 0;
            float flashingTime = 0;
            if(bestXB != null)
            {
                flashingTimes = bestXB.flashingTimes;
                flashingTime = bestXB.flashingTime;
            }
            else if(runeXB != null)
            {
                flashingTimes = runeXB.flashingTimes;
                flashingTime = runeXB.flashingTime;
            }
            while (true)
            {
                selectIcon.SetActive(!selectIcon.activeInHierarchy);
                num += 1;
                if (num >= flashingTimes)
                {
                    break;
                }
                yield return new WaitForSeconds(flashingTime);
            }
        }
    }
}
System/KnapSack/Logic/ItemOverdueModel.cs
@@ -35,7 +35,7 @@
        public event Action showItemRefreshEvent;
        public OverdueItem currentShowItem { get; private set; }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        bool isdelay = true;
        public readonly int VipExperirnceID = 985;
        public readonly int VipCardID = 978;
        Dictionary<int, Dictionary<int, List<ItemModel>>>  allGuardDict = new Dictionary<int, Dictionary<int, List<ItemModel>>>(); //守护类型,守护ID
@@ -63,6 +63,8 @@
        public void OnBeforePlayerDataInitialize()
        {
            isdelay = true;
            GlobalTimeEvent.Instance.secondEvent -= UpdateSecond;
            guardOverdueIndex = -1;
            itemStack.Clear();
            itemGuids.Clear();
@@ -73,10 +75,25 @@
        {
          
        }
        void IPlayerLoginOk.OnPlayerLoginOk()
        public void OnPlayerLoginOk()
        {
            GetOverdueGuard();
            GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
            time = 0;
        }
        float time = 0;
        private void UpdateSecond()
        {
           if(isdelay)
            {
                time += 1;
                if(time >= 5)
                {
                    GetOverdueGuard();
                    isdelay = false;
                    time = 0;
                }
            }
        }
        public bool TryGetItem(string _guid, out OverdueItem _itemModel)
@@ -194,6 +211,7 @@
                case "Guardian_Timeout":
                    if (list.Count > 1)
                    {
                        SetAllGuardIdlist();
                        guardOverdueIndex = int.Parse(list[1].ToString());
                        ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptItem, guardOverdueIndex);
                        if (itemModel != null)
@@ -218,12 +236,19 @@
                                        }
                                    }
                                }
                                models = pairs[idlist[idlist.Count - 1]];
                                if (isOverdue && models != null && models.Count > 0)
                                if (isOverdue)
                                {
                                    ItemModel overdueModel = models[0];
                                    guardOverdueIndex = overdueModel.itemInfo.ItemPlace;
                                    OnGetOverdueItem(overdueModel.itemInfo.ItemID, overdueModel.itemInfo.ItemGUID, overdueModel.itemInfo.ItemPlace);
                                    for (int i = idlist.Count - 1; i > -1; i--)
                                    {
                                        models = pairs[idlist[i]];
                                        if (models != null && models.Count > 0)
                                        {
                                            ItemModel overdueModel = models[0];
                                            guardOverdueIndex = overdueModel.itemInfo.ItemPlace;
                                            OnGetOverdueItem(overdueModel.itemInfo.ItemID, overdueModel.itemInfo.ItemGUID, overdueModel.itemInfo.ItemPlace);
                                            break;
                                        }
                                    }
                                }
                                else
                                {
@@ -280,13 +305,20 @@
                    }
                }
                models = allGuardDict[type][idlist[idlist.Count - 1]];
                if (isOverdue && models != null && models.Count > 0)
                if(isOverdue)
                {
                    ItemModel itemModel = models[0];
                    if (!overdueGuardPushlist.Contains(itemModel))
                    for (int i = idlist.Count - 1; i > -1; i--)
                    {
                        overdueGuardPushlist.Add(itemModel);
                        models = allGuardDict[type][idlist[i]];
                        if(models != null && models.Count > 0)
                        {
                            ItemModel itemModel = models[0];
                            if (!overdueGuardPushlist.Contains(itemModel))
                            {
                                overdueGuardPushlist.Add(itemModel);
                            }
                            break;
                        }
                    }
                }
            }
System/MainInterfacePanel/FeatureNoticeWin.cs
@@ -76,8 +76,9 @@
        }
        protected override void OnActived()
        {
            m_ScrollerController.JumpIndex(JumpIndex());
            m_ScrollerController.JumpIndex(Offset, 0, EnhancedScroller.TweenType.immediate);
            var offset = 0f;
            m_ScrollerController.JumpIndex(JumpIndex(), ref offset);
            m_ScrollerController.JumpIndex(Offset + offset, 0, EnhancedScroller.TweenType.immediate);
        }
        protected override void OnAfterOpen()
        {
System/MainInterfacePanel/FeaturesType2.cs
@@ -32,7 +32,6 @@
        FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
        public void GetTheFeatureID(int funcId)
        {
            DebugEx.LogError("ID"+ featureNoticeModel.FunctionForecastIndex);
            var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcId);
            if (functionForecastConfig == null)
            {
System/MainInterfacePanel/FlyingShoesTask.cs
@@ -154,8 +154,17 @@
                case -5:
                case 0:
                    StateDetermination();
                    ContentText.ExcuteHref();
                    OpenPanel(Task_ID);
                    if (mainModel.TaskId_Skill.Contains(Task_ID))
                    {
                        mainModel.TaskSkillID = Task_ID;
                        WindowCenter.Instance.Open<SkillTaskWin>();
                    }
                    else
                    {
                        ContentText.ExcuteHref();
                        OpenPanel(Task_ID);
                    }
                    break;
                case 1:
System/MainInterfacePanel/PlayerMainDate.cs
@@ -118,6 +118,8 @@
    public List<int> TaskId_Skill = new List<int>();//任务ID
    public List<int> SkillIndex = new List<int>();//技能槽索引
    public List<int> NeedFairyJade = new List<int>();//所需解锁仙玉
    public int Skill_Index = 0;
    public int TaskSkillID = 0;
    //-----关于支线翅膀任务的特殊逻辑
    public int WingTask = 0;
System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -469,7 +469,7 @@
        SideQuestsType17 = 17,//支线17-21新增
        SideQuestsType18 = 18,
        SideQuestsType19 = 19,
        SideQuestsType20 = 20,
        SideQuestsType20 = 20,//(后端特殊处理,暂定不让使用)
        SideQuestsType21 = 21,
    }
System/MainInterfacePanel/SideMission.cs
@@ -23,6 +23,7 @@
        [SerializeField] Button _Btn_Forward;//支线前往按钮
        [SerializeField] Text _Text_Forward;//按钮文字
        [SerializeField] Button m_FinishAtOnce;//立即完成
        PlayerTaskDatas m_TaskModel;
        PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
        ItemTipsModel _itemTipsModel;
@@ -40,6 +41,7 @@
        private void Start()
        {
            _Btn_Forward.onClick.AddListener(ForwardButton);
            m_FinishAtOnce.AddListener(OnClickSkillTask);
        }
        private void OnEnable()
        {
@@ -60,6 +62,11 @@
        }
        private void OnClickSkillTask()
        {
            TaskAllocation.Instance.SkillTask(TaskIdNow);
        }
        private void ForwardButton()
        {
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
@@ -144,7 +151,7 @@
            str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
            str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
            _Text_TaskTarget.text = str;//任务目标
            SkillTask(taskID);
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)//能够进行立即完成的支线任务
            {
                _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
@@ -234,6 +241,16 @@
            }
            return string.Empty;
        }
        private void SkillTask(int TsakID)
        {
            if (!taskmodel.allMissionDict.ContainsKey(TsakID) || !mainModel.TaskId_Skill.Contains(TsakID))
            {
                m_FinishAtOnce.gameObject.SetActive(false);
                return;
            }
            m_FinishAtOnce.gameObject.SetActive(true);
        }
    }
}
System/MainInterfacePanel/SkillTaskWin.cs
@@ -6,25 +6,58 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class SkillTaskWin : Window
    {
        [SerializeField] RichText m_Text_Condition_1;//条件
        [SerializeField] RichText m_Text_Reward_1;//奖励
        [SerializeField] Text m_NeedMoney_Text;//所需仙玉
        [SerializeField] Button m_GoToSkillBtn;
        [SerializeField] Button m_OpenNowBtn;
        [SerializeField] Button m_GoToBtn;
        [SerializeField] Button m_ClaoseBtn;
        PlayerMainDate m_MainModel;
        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        PlayerTaskDatas m_TaskModel;
        PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_ClaoseBtn.AddListener(() => { Close(); });
            m_GoToSkillBtn.AddListener(OnClickGoToSkillBtn);
            m_OpenNowBtn.AddListener(OnClickOpenNowBtn);
            m_GoToBtn.AddListener(OnClickGoToBtn);
        }
        protected override void OnPreOpen()
        {
        {
            if (!taskmodel.allMissionDict.ContainsKey(mainModel.TaskSkillID))
            {
                return;
            }
            string str = taskmodel.allMissionDict[mainModel.TaskSkillID].InforList;
            var taskinfo = Config.Instance.Get<TASKINFOConfig>(str);
            if (taskinfo != null)
            {
                m_Text_Condition_1.text = taskinfo.show_writing;
            }
            if (mainModel.TaskId_Skill.Contains(mainModel.TaskSkillID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(mainModel.TaskSkillID);
                m_Text_Reward_1.text = string.Format(Language.Get("PassiveSkillTask1"), (mainModel.SkillIndex[Index] + 1));
                m_NeedMoney_Text.text = string.Format(Language.Get("PassiveSkillTask2"), mainModel.NeedFairyJade[Index]);
            }
        }
        protected override void OnAfterOpen()
@@ -36,10 +69,58 @@
        }
        protected override void OnAfterClose()
        {
        {
        }
        private void OnClickGoToSkillBtn()
        {
            if (mainModel.TaskId_Skill.Contains(mainModel.TaskSkillID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(mainModel.TaskSkillID);
                mainModel.Skill_Index = mainModel.SkillIndex[Index] + 1;
            }
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
        }
        private void OnClickOpenNowBtn()
        {
            int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉
            if (mainModel.TaskId_Skill.Contains(mainModel.TaskSkillID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(mainModel.TaskSkillID);
                int NeedMoney = mainModel.NeedFairyJade[Index];
                string strNull = string.Format(Language.Get("PassiveSkillTask3"), NeedMoney);
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
                {
                    if (isOk)
                    {
                        if (Gold >= NeedMoney)
                        {
                            taskmodel.CompletionOfTask(mainModel.TaskSkillID);
                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                        }
                        else
                        {
                            if (VersionConfig.Get().isBanShu)
                            {
                                SysNotifyMgr.Instance.ShowTip("GoldErr");
                                return;
                            }
                            WindowCenter.Instance.Open<RechargeTipWin>();
                        }
                    }
                });
            }
        }
        private void OnClickGoToBtn()
        {
            m_Text_Condition_1.ExcuteHref();
            // Close();
        }
        #endregion
    }
}
System/MainInterfacePanel/TaskAllocation.cs
@@ -9,9 +9,11 @@
using System.Text.RegularExpressions;
using System.Collections.Generic;
//用于任务分配
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class TaskAllocation:Singleton<TaskAllocation> {
    public class TaskAllocation : Singleton<TaskAllocation>
    {
        private static StringBuilder textBuilder = new StringBuilder();
        private const string Info_Pattern = "{([a-zA-Z0-9_]+)}";
@@ -23,7 +25,7 @@
                return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>());
            }
        }
        public  string GetTaskInfo(string val, int _item)//用于0820中字典的值替换(1字符串2任务ID)
        public string GetTaskInfo(string val, int _item)//用于0820中字典的值替换(1字符串2任务ID)
        {
            textBuilder.Length = 0;
            int index = 0;
@@ -56,7 +58,7 @@
            }
        }
      public int ForRingNumber()//获取赏金环数
        public int ForRingNumber()//获取赏金环数
        {
            if (taskmodel.ReplaceDic.ContainsKey(1))
            {
@@ -114,7 +116,42 @@
            }
            return 0;
        }
        PlayerMainDate m_MainModel;
        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        public void SkillTask(int TaskID)//用于解锁被动技能任务
        {
            int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉
            if (mainModel.TaskId_Skill.Contains(TaskID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(TaskID);
                int NeedMoney = mainModel.NeedFairyJade[Index];
                string strNull = string.Format(Language.Get("PassiveSkillTask3"), NeedMoney);
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
                {
                    if (isOk)
                    {
                        if (Gold >= NeedMoney)
                        {
                            taskmodel.CompletionOfTask(TaskID);
                            if (WindowCenter.Instance.CheckOpen<SkillPanel>())
                            {
                                return;
                            }
                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                        }
                        else
                        {
                            if (VersionConfig.Get().isBanShu)
                            {
                                SysNotifyMgr.Instance.ShowTip("GoldErr");
                                return;
                            }
                            WindowCenter.Instance.Open<RechargeTipWin>();
                        }
                    }
                });
            }
        }
    }
}
System/MainInterfacePanel/TaskListTip.cs
@@ -99,6 +99,7 @@
            PlayerTaskDatas.Event_TaskToDelete += OnTaskToDelete;//任务的删除
            PlayerTaskDatas.Event_TaskInformation += TaskInformation;//任务字典信息
            PlayerTaskDatas.MainCardLevelChange += MainCardLevelChange;//卡级任务修改
            PlayerTaskDatas.CardLevelChange += CardLevelChangeEvent;//卡级任务状态改变
            model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            TreasureNewGotWin.CloseTreasureNewGotWinEvent += CloseTreasureNewGotWinEvent;
@@ -132,6 +133,7 @@
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
            PlayerTaskDatas.MainCardLevelChange -= MainCardLevelChange;//卡级任务修改
            PlayerTaskDatas.CardLevelChange -= CardLevelChangeEvent;//卡级任务状态改变
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
        }
@@ -153,6 +155,15 @@
            }
        }
        private void CardLevelChangeEvent(int taskID)
        {
            if (taskmodel.allMissionDict.ContainsKey(taskID) && taskmodel.allMissionDict[taskID].Type == 3)
            {
                TaskScheduling();
                TheTaskToGenerate();
                TaskJump(taskID);
            }
        }
        private void MainCardLevelChange(int _id)
        {
            TaskScheduling();    
@@ -347,7 +358,7 @@
            foreach (var key in taskmodel.MainTaskDic.Keys)
            {
                var State = taskmodel.GetTaskStatus(key);
                if (State == PlayerTaskDatas.TaskStatus.CardLevel)
                if (State == PlayerTaskDatas.TaskStatus.TreasureCardLevel)
                {
                    IsDefault = false;
                }
@@ -371,6 +382,10 @@
            {
                return _index0.CompareTo(_index1);
            }
            if (xPack.LV.CompareTo(yPack.LV) != 0)
            {
                return -xPack.LV.CompareTo(yPack.LV);
            }
            return 1;
        }
@@ -384,6 +399,11 @@
            {
                return _index0.CompareTo(_index1);
            }
            if (xPack.LV.CompareTo(yPack.LV) != 0)
            {
                return -xPack.LV.CompareTo(yPack.LV);
            }
            return 1;
        }
System/OpenServerActivity/FlashSaleWin.cs
@@ -79,7 +79,7 @@
            {
                OperationFlashSale operation = operationBase as OperationFlashSale;
                m_OpreationTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
                m_RefreshGiftTime.gameObject.SetActive(operation.allDay);
                m_RefreshGiftTime.gameObject.SetActive(operation.allDay && operation.dayReset);
                OperationFlashSale.FlashSale flashSale;
                if (operation.TryGetFlashSale(TimeUtility.ServerNow, out flashSale))
                {
System/Skill/SkillModel.cs
@@ -49,7 +49,6 @@
        public bool jumpToPass { get; set; }
        public int minTaskHole { get; private set; }
        public int maxTaskHole { get; private set; }
        public int immediatelyUnlockTask { get; private set; }
        void ParseConfig()
        {
            for (int i = 1; i <= 3; i++)
@@ -86,8 +85,6 @@
                passEquipCnt = int.Parse(funcCfg.Numerical2);
                taskHoleDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical4);
            }
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask");
            immediatelyUnlockTask = 0;//int.Parse(funcCfg.Numerical2);
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassSkillEquipGetWay");
            if (funcCfg != null)
            {
@@ -366,7 +363,7 @@
        }
        PlayerTaskDatas task { get { return ModelCenter.Instance.GetModel<PlayerTaskDatas>(); } }
        PlayerMainDate mainData { get { return ModelCenter.Instance.GetModel<PlayerMainDate>(); } }
        public void SendEquipPassSkill(int _page, int _index, int _skillId)
        {
            var pak = new CB407_tagCMPassiveSet();
@@ -662,7 +659,7 @@
            foreach (var hole in taskHoleDict.Keys)
            {
                var taskId = taskHoleDict[hole];
                if (taskId == immediatelyUnlockTask)
                if (IsImmediatelyUnlock(hole))
                {
                    var config = Config.Instance.Get<PyTaskConfig>(taskId);
                    if (PlayerDatas.Instance.baseData.LV >= config.lv
@@ -675,6 +672,16 @@
            }
        }
        public bool IsImmediatelyUnlock(int hole)
        {
            if (taskHoleDict.ContainsKey(hole))
            {
                var taskId = taskHoleDict[hole];
                return mainData.TaskId_Skill.Contains(taskId);
            }
            return false;
        }
        public void SetTaskHoleRemind()
        {
            DayRemind.Instance.SetDayRemind(DayRemind.TASK_SKILL_HOLE, true);
System/Skill/SkillPassWin.cs
@@ -39,6 +39,7 @@
        [SerializeField, Header("特效时长")] float m_EffectDuration = 1f;
        private List<SkillConfig> skillListPass = new List<SkillConfig>();
        private int presentSltEquipIndex = -1;
        Coroutine cacheCoroutine = null;
        SkillModel m_Model;
        SkillModel model
@@ -143,7 +144,15 @@
            base.OnActived();
            UpdatePageBtn();
            if (model.taskHoleRedpoint.state == RedPointState.Simple)
            if (taskMain.Skill_Index != 0)
            {
                var hole = taskMain.Skill_Index - 1;
                if (!model.IsPassSkillHoleOpen(hole))
                {
                    OnClickEquipHole(hole, false);
                }
            }
            else if (model.taskHoleRedpoint.state == RedPointState.Simple)
            {
                model.SetTaskHoleRemind();
                for (int i = 0; i < equipPassSkills.Count; i++)
@@ -151,8 +160,7 @@
                    PassSkillLimit limit;
                    if (model.TryGetPassSkillLimit(i, out limit))
                    {
                        if (limit.OpenSkillSlots > 0
                            && model.taskHoleDict[limit.OpenSkillSlots] == model.immediatelyUnlockTask)
                        if (limit.OpenSkillSlots > 0 && model.IsImmediatelyUnlock(i))
                        {
                            OnClickEquipHole(i, false);
                            return;
@@ -178,6 +186,7 @@
            model.taskUnlockUpdate -= TaskUnlockUpdate;
            model.SetDayRemind();
            model.UnlockPassHole = 0;
            taskMain.Skill_Index = 0;
        }
        protected override void OnAfterClose()
@@ -290,7 +299,7 @@
                        var taskId = model.taskHoleDict[_limit.OpenSkillSlots];
                        var config = Config.Instance.Get<PyTaskConfig>(taskId);
                        if (PlayerDatas.Instance.baseData.LV >= config.lv
                            && taskId == model.immediatelyUnlockTask)
                            && model.IsImmediatelyUnlock(_index))
                        {
                            return 2;
                        }
@@ -462,7 +471,7 @@
                                UIHelper.ReplaceNewLine(Language.Get(StringUtility.Contact("PassSkillHoleLimitTask_", limit.OpenSkillSlots)));
                            continue;
                        }
                        else if (model.taskHoleDict[limit.OpenSkillSlots] == model.immediatelyUnlockTask
                        else if (model.IsImmediatelyUnlock(i)
                            && model.IsTaskHoleUnlock(limit.OpenSkillSlots))
                        {
                            if (m_ImmediatelyUnlock.gameObject.activeSelf)
@@ -589,7 +598,7 @@
                                m_GetWayBtn.gameObject.SetActive(false);
                                return;
                            }
                            if (taskId == model.immediatelyUnlockTask)
                            if (model.IsImmediatelyUnlock(index))
                            {
                                m_ImmediatelyUnlock.gameObject.SetActive(true);
                            }
@@ -627,35 +636,11 @@
        void ImmediatelyUnlock()
        {
            //var count = pack.GetItemCountByID(PackType.rptItem, taskMain.ItemID);
            //if (count >= taskMain.ItemNumber)
            //{
            //    task.CompletionOfTask(model.immediatelyUnlockTask);
            //}
            //else
            //{
            //    var requireJade = (ulong)((taskMain.ItemNumber - count) * taskMain.UnitPrice);
            //    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("PassiveSkillTask3", requireJade),
            //        (bool isOk) =>
            //    {
            //        if (isOk)
            //        {
            //            if (UIHelper.GetMoneyCnt(1) >= requireJade)
            //            {
            //                task.CompletionOfTask(model.immediatelyUnlockTask);
            //            }
            //            else
            //            {
            //                if (VersionConfig.Get().isBanShu)
            //                {
            //                    SysNotifyMgr.Instance.ShowTip("GoldErr");
            //                    return;
            //                }
            //                WindowCenter.Instance.Open<RechargeTipWin>();
            //            }
            //        }
            //    });
            //}
            if (model.taskHoleDict.ContainsKey(presentSltEquipIndex))
            {
                var taskId = model.taskHoleDict[presentSltEquipIndex];
                TaskAllocation.Instance.SkillTask(taskId);
            }
        }
        private void OnClickFunc(CellView cell)
@@ -674,17 +659,17 @@
            {
                return;
            }
            equipPassSkills[_index].skillData.m_SelectImg.gameObject.SetActive(true);
            if (equipPassSkills[_index].skillData.skillId != 0)
            {
                equipPassSkills[_index].skillData.m_SelectImg.gameObject.SetActive(true);
                model.presentSltSkillID = equipPassSkills[_index].skillData.skillId;
                flipScroll.RefreshActive();
                OnUpdateSltSkillInfo();
            }
            else
            {
                equipPassSkills[_index].skillData.m_SelectImg.gameObject.SetActive(false);
            }
            //else
            //{
            //    equipPassSkills[_index].skillData.m_SelectImg.gameObject.SetActive(false);
            //}
        }
        private int GetEquipHoleIndex(int _skillId)
System/Strengthening/GodBeastAttributes.cs
@@ -94,18 +94,20 @@
        private void OnClickStrengthBtn()
        {
            Dictionary<int, int> DicAb = godBeastModel.Absorption_Dic;
            List<int> List = new List<int>();
            List<int> ListIndex = new List<int>();
            List<int> ListCount = new List<int>();
            foreach (var key in DicAb.Keys)
            {
                List.Add(key);
                ListIndex.Add(key);
                ListCount.Add(DicAb[key]);
            }
            if (m_DoubleToggle.isOn)
            {                
                dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, List,1);
                dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, ListIndex, ListCount, 1);
            }
            else
            {
                dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, List, 0);
                dogz_model.SendDogzEquipStrength(m_DogZItemModel.itemInfo.ItemPlace, ListIndex, ListCount, 0);
            }
        }
        private void ChooseToModify(int locationMarker)
System/Strengthening/GodBeastEntry.cs
@@ -44,11 +44,13 @@
                        m_Item_Text.color = UIHelper.GetUIColor(itemConfig.ItemColor);                     
                        if (IudetDogzEquipPlus != null && IudetDogzEquipPlus[0] > 0)
                        {
                            m_Item_Text.text = itemConfig.ItemName+"  +"+ IudetDogzEquipPlus[0];
                            string str= itemConfig.ItemName + "  +" + IudetDogzEquipPlus[0];
                            m_Item_Text.text = UIHelper.GetTextColorByItemColor(itemConfig.ItemColor, str, true);
                        }
                        else
                        {
                            m_Item_Text.text = itemConfig.ItemName;
                            string str = itemConfig.ItemName;
                            m_Item_Text.text = UIHelper.GetTextColorByItemColor(itemConfig.ItemColor, str, true);
                        }
                        if (locationMarker == currentlySelected)
                        {
System/Team/TeamModel.cs
@@ -15,6 +15,7 @@
        bool serverInited = false;
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        public bool autoAcceptApplication {
            get { return (PlayerDatas.Instance.baseData.ExAttr2 / 10) % 10 == 0; }
@@ -193,10 +194,12 @@
            levelMaxBuf = GeneralConfig.Instance.playerMaxLevel;
            ParseTeamMission();
            DTCB309_tagGCAnswerPlayerShortInfo.OnPlayerShortInfoEvent += OnGetPlayerShortInfo;
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnUpdateFairyInfo;
        }
        public override void UnInit()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnUpdateFairyInfo;
            DTCB309_tagGCAnswerPlayerShortInfo.OnPlayerShortInfoEvent -= OnGetPlayerShortInfo;
        }
@@ -632,11 +635,7 @@
                    }
                    break;
                case TeamInviteType.Fairy:
                    GetFairyMemebers();
                    if (teamInvitesUpdateEvent != null)
                    {
                        teamInvitesUpdateEvent(_inviteType);
                    }
                    fairyModel.UpdateFairyInfo();
                    break;
                case TeamInviteType.NearBy:
                    RequestQueryNearbyPlayers();
@@ -738,6 +737,18 @@
            }
        }
        private void OnUpdateFairyInfo()
        {
            if (currentInviteType == TeamInviteType.Fairy)
            {
                GetFairyMemebers();
                if (teamInvitesUpdateEvent != null)
                {
                    teamInvitesUpdateEvent(TeamInviteType.Fairy);
                }
            }
        }
        public void OnGetPlayerShortInfo(HB309_tagGCAnswerPlayerShortInfo _inTeamInfo)
        {
            if (playerInTeamAnswerEvent != null)
System/Treasure/TreasurePotentialPanel.cs
@@ -89,6 +89,7 @@
                    if (!isMax)
                    {
                        AutoSelectPotentialBook();
                        DisplayUpgradeCost();
                        DisplayGetSkill();
                        DisplaySuccessRatio();
@@ -179,7 +180,8 @@
            var isMax = level >= config.SkillMaxLV;
            if (!isMax)
            {
                DisplayPotentialBook(0);
                AutoSelectPotentialBook();
                DisplayPotentialBook(model.selectedPotentialBook);
            }
            model.onPotentialLevelUpResultEvent -= OnPotentialLevelUp;
@@ -510,6 +512,33 @@
            }
        }
        void AutoSelectPotentialBook()
        {
            var potential = m_Treasure.GetPotential(model.selectedPotential);
            if (potential == null)
            {
                return;
            }
            var levelUpType = model.GetSkillLevelUpType(potential.id);
            var levelupId = TreasureModel.GetSkillLevelUpId(levelUpType, potential.level + 1);
            var config = Config.Instance.Get<TreasureSkillConfig>(levelupId);
            if (config == null)
            {
                return;
            }
            var itemId = config.Meterial2ID.Length > 0 ? config.Meterial2ID[0] : 0;
            if (itemId != 0)
            {
                var own = playerPack.GetItemCountByID(PackType.rptItem, itemId);
                var need = config.MeterialNum2[0];
                var rate = config.Rate[0];
                if (rate >= 60 && own >= need)
                {
                    model.selectedPotentialBook = itemId;
                }
            }
        }
        private void DisplayUpgradeCost()
        {
            var potential = m_Treasure.GetPotential(selectedPotential);
System/Treasure/TreasureSoulWin.cs
@@ -423,11 +423,11 @@
        int Compare(int x, int y)
        {
            TreasureSpecialData special_x;
            TreasureSpecialData special_y;
            if (model.TryGetTreasureSoul(x, out special_x) && model.TryGetTreasureSoul(y, out special_y))
            var leftConfig = Config.Instance.Get<TreasurePrivilegeConfig>(x);
            var rightConfig = Config.Instance.Get<TreasurePrivilegeConfig>(y);
            if (leftConfig != null && rightConfig != null)
            {
                return special_x.treasureId.CompareTo(special_y.treasureId);
                return leftConfig.sort.CompareTo(rightConfig.sort);
            }
            return x.CompareTo(y);
        }
System/Vip/LimitedTimePackageWin.cs
@@ -109,7 +109,15 @@
                            {
                                if (OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.GiftPackage))
                                {
                                    SysNotifyMgr.Instance.ShowTip("LimitGilt1");
                                    var seconds = 0;
                                    if (operationBase != null)
                                    {
                                        if (operationBase.InAdvanceTime(TimeUtility.ServerNow))
                                        {
                                            seconds = operationBase.GetSecondsBeforeStart(TimeUtility.ServerNow);
                                        }
                                    }
                                    SysNotifyMgr.Instance.ShowTip("LimitGilt1", TimeUtility.SecondsToDHMSCHS(seconds));
                                    return;
                                }
                                else
System/Vip/VipInvest/VipInvestModel.cs
@@ -414,6 +414,7 @@
        private void VipInvestRedPoint()//Vip 投资红点
        {
            JumpIndex = 0;
            redPointStre1.state = RedPointState.None;
            InvestInfo = GetInvestInfoByType((int)InvestType.Vip);
            cycle = GetInvestCycle(InvestInfo.curDay);
            if (InvestInfo.investGold <= 0)
System/Vip/VipInvest/VipInvestWin.cs
@@ -51,7 +51,12 @@
            }
            else
            {
                m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (7 - InvestInfo.curDay).ToString(), true));
                int Day = 0;
                if (7 - InvestInfo.curDay > 0)
                {
                    Day = 7 - InvestInfo.curDay;
                }
                m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, Day.ToString(), true));
            }
            if (InvestInfo.investGold <= 0)
@@ -118,7 +123,12 @@
                }
                else
                {
                    m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, (7 - InvestInfo.curDay).ToString(), true));
                    int Day = 0;
                    if (7 - InvestInfo.curDay > 0)
                    {
                        Day = 7 - InvestInfo.curDay;
                    }
                    m_RemainingDays.text = string.Format(Language.Get("TheRemainingNumberDays_Z"), UIHelper.GetTextColorByItemColor(TextColType.Green, Day.ToString(), true));
                }
            }
        }
System/WindowJump/WindowJumpMgr.cs
@@ -45,6 +45,7 @@
    DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
    TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
    ImpactRankModel rankModel { get { return ModelCenter.Instance.GetModel<ImpactRankModel>(); } }
    ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
    public bool IsJumpState { get; private set; }
    private int jumpPhase = 0;
@@ -320,6 +321,22 @@
                break;
            case JumpUIType.OpenServerGift:
                return;
            case JumpUIType.EquipCompose1:
            case JumpUIType.EquipCompose2:
            case JumpUIType.EquipCompose3:
            case JumpUIType.EquipCompose4:
            case JumpUIType.ComposeTicketFairy:
            case JumpUIType.ComposeTicketGod:
            case JumpUIType.ComposeTicketIce:
                int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive);
                if (types.Length > 0)
                {
                    if (!composeModel.CheckIsComposeByType(_tagWinSearchModel.TABID+1,types[0],types[1]))
                    {
                        return;
                    }
                }
                break;
        }
        DebugEx.Log("WindowJumpTo" + jumpType);
@@ -353,7 +370,9 @@
            case JumpUIType.StrengthFunc3:
            case JumpUIType.StrengthFunc4:
            case JumpUIType.StrengthFunc5:
            case JumpUIType.EquipWashType2:
            case JumpUIType.StrengthFunc1Type2:
            case JumpUIType.EquipSuitType2:
                SetJumpLogic<EquipReinforceWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.ComposeFunc1:
@@ -364,6 +383,17 @@
            case JumpUIType.TicketCompose1:
            case JumpUIType.TicketCompose2:
                SetJumpLogic<ComposeWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.EquipCompose1:
            case JumpUIType.EquipCompose2:
            case JumpUIType.EquipCompose3:
            case JumpUIType.EquipCompose4:
                int[] types = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive);
                if(types.Length > 0)
                {
                    composeModel.SetJumpToModel((ComposeFuncType)_tagWinSearchModel.TABID + 1,types[0],types[1]);
                    SetJumpLogic<ComposeWin>(_tagWinSearchModel.TABID);
                }
                break;
            case JumpUIType.RuneFunc1:
            case JumpUIType.RuneFunc2:
@@ -383,6 +413,7 @@
                break;
            case JumpUIType.PetFunc1:
            case JumpUIType.PetFunc2:
            case JumpUIType.MountType2:
            case JumpUIType.FairyGrabBoss:
                SetJumpLogic<PetWin>(_tagWinSearchModel.TABID);
                break;
@@ -723,7 +754,6 @@
            case JumpUIType.ComposeTicketFairy:
            case JumpUIType.ComposeTicketGod:
            case JumpUIType.ComposeTicketIce:
                var composeModel = ModelCenter.Instance.GetModel<ComposeWinModel>();
                int[] composeTypelist = ConfigParse.GetMultipleStr<int>(_tagWinSearchModel.SelectActive);
                composeModel.SetJumpToModel((ComposeFuncType)_tagWinSearchModel.TABID + 1, composeTypelist[0], composeTypelist[1]);
                SetJumpLogic<ComposeWin>(_tagWinSearchModel.TABID);
@@ -1081,7 +1111,9 @@
    StrengthFunc2 = 13,
    StrengthFunc3 = 14,
    StrengthFunc4 = 15,
    EquipSuitType2 = 241, //套装界面
    StrengthFunc5 = 16,
    EquipWashType2 = 239, //装备洗练界面
    ComposeFunc1 = 17,
    ComposeFunc2 = 18,
    ComposeFunc3 = 19,
@@ -1099,6 +1131,7 @@
    UnionFunc5 = 31,
    PetFunc1 = 32,
    PetFunc2 = 33,
    MountType2 = 240,//坐骑界面
    PetStone = 34,
    Treasure = 35,
    WorldChat = 38,
@@ -1270,6 +1303,10 @@
    Kylin5= 232,//麒麟之府的5层
    Kylin6 = 233,//麒麟之府的6层
    PrayforDrug = 234, //炼丹祈福(太上老君的馈赠)
    EquipCompose1 = 235, //装备合成-龙魂红二
    EquipCompose2 = 236, //装备合成-龙魂红三
    EquipCompose3 = 237, //装备合成-灵瑶红二
    EquipCompose4 = 238, //装备合成-灵瑶红三
    DhszTs = 1001,//定海神针功法提升界面
    HyqTs = 1002,//皓月枪功法提升界面
    GyzTs = 1003,//鬼牙刃功法提升界面
Utility/EnumHelper.cs
@@ -548,6 +548,7 @@
    BasicsScoreAHit = 181,//基础命中
    BasicsDodge = 182,//基础闪避
    OnlyFinalHurt = 183,// 额外伤害附加
    CDBPlayerRefresh_ForbidenTalk = 184,//禁言
    CDBPlayerRefresh_FuncDef = 185,  // 功能层防御  185
    CDBPlayerRefresh_TreasureScore = 186, //寻宝商店积分
    CDBPlayerRefresh_Danjing = 187,              // 丹精 187
Utility/FontUtility.cs
@@ -6,7 +6,7 @@
{
    static Font m_Preferred;
    public static Font preferred {
        get { return m_Preferred ?? (m_Preferred = Resources.Load<Font>("Font/方正准圆简体")); }
        get { return m_Preferred ?? (m_Preferred = UILoader.LoadFont("方正准圆简体")); }
    }
    static Font m_Secondary;
Utility/LanguageVerify.cs
@@ -150,8 +150,9 @@
    public void VerifyChat(string content, ChatInfoType channelType, Action<bool, string> callback)
    {
        int channel = 0;
        var chatCenter = ModelCenter.Instance.GetModel<ChatCenter>();
        if (!requireVerify || !GetChannel(channelType, out channel) || PlayerDatas.Instance.baseData.VIPLv >= 4
            || IsFairyFeast(channelType))
            || IsFairyFeast(channelType) || chatCenter.IsChatBanned)
        {
            if (callback != null)
            {
Utility/UIHelper.cs
@@ -357,8 +357,8 @@
    public static readonly Color32 s_BrightRedColor = new Color32(255, 3, 3, 255);
    public static readonly Color32 s_BrightPurpleColor = new Color32(218, 72, 213, 255);
    public static readonly Color32 s_BrightBlueColor = new Color32(0, 107, 227, 255);
    public static readonly Color32 s_BrightOrangeColor = new Color32(255, 103, 1, 255);
    public static readonly Color32 s_BrightWhiteColor = new Color32(104, 104, 104, 255);
    public static readonly Color32 s_BrightOrangeColor = new Color32(255, 103, 1, 255); //FF6701FF
    public static readonly Color32 s_BrightWhiteColor = new Color32(104, 104, 104, 255); //686868
    public static readonly Color32 s_BrightGreenColor = new Color32(16, 157, 6, 255);
    public static readonly Color32 s_DarkPinkColor = new Color32(255, 124, 124, 255);