少年修仙传客户端代码仓库
client_Wu Xijin
2018-09-20 8cf67fe69bb5fca89ced59210011d73313c3c938
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
25个文件已修改
566 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/TreasurePrivilegeConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA5C4_tagCMDogzEquipPlus.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/SDK/SDKUtility.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzActiveWin.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FriendSystem/MailAllModel.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/LoginModel.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SkillTaskWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskAllocation.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TipPanel.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillModel.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillPassWin.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastAttributes.cs 152 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastEntry.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastReinforcementWin.cs 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashTips.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureSoulModel.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureSoulWin.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA5C4_tagCMDogzEquipPlus.cs
@@ -1,45 +1,26 @@
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 () {
        combineCmd = (ushort)0x03FE;
        _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);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -21,11 +21,6 @@
        H0102_tagCDBPlayer vNetData = vNetPack as H0102_tagCDBPlayer;
        SDKUtility.Instance.RoleLogin(vNetData.PlayerID.ToString(),
                                      vNetData.PlayerName,
                                      vNetData.LV.ToString(),
                                      vNetData.VIPLv.ToString());
        DEBUG_0102 = true;
        DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
        DEBUG_STEP = 0;
@@ -52,6 +47,12 @@
        }
        PlayerDatas.Instance.InitPlayerData(vNetData);
        SDKUtility.Instance.RoleLogin(vNetData.PlayerID.ToString(),
                                      vNetData.PlayerName,
                                      vNetData.LV.ToString(),
                                      vNetData.VIPLv.ToString());
        var _mapConfig = Config.Instance.Get<MapConfig>(vNetData.MapID);
        DTCA127_tagMCStartChangeMap.LineID = 0;
Core/SDK/SDKUtility.cs
@@ -655,6 +655,10 @@
        {
            m_PaymentTable["RechargeChannel"] = "1";
        }
        else if (ChannelPlatform == E_ChannelPlatform.Sp)
        {
            m_PaymentTable["RechargeChannel"] = "2";
        }
        var _stringBuilder = new System.Text.StringBuilder();
        var _md5Body = _stringBuilder.Append(m_PaymentTable["AppID"]).
@@ -896,11 +900,37 @@
    {
        m_Json.Clear();
        m_Json["code"] = CodeU2A.RoleLogin;
        m_Json["roleID"] = roleID;
        m_Json["roleName"] = roleName;
        m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
        m_Json["level"] = lv;
        m_Json["vipLevel"] = vipLV;
        m_Json["serverName"] = ServerListCenter.Instance.currentServer.name;
        m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName;
        m_Json["level"] = PlayerDatas.Instance.baseData.LV;
        m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString();
        m_Json["money"] = PlayerDatas.Instance.baseData.Gold.ToString();
        m_Json["gameName"] = VersionConfig.Get().productName;
        m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
        SendMessageToSDK(m_Json);
    }
    public void RoleLevelUp()
    {
        m_Json.Clear();
        m_Json["code"] = CodeU2A.RoleLevelUp;
        m_Json["roleID"] = PlayerDatas.Instance.PlayerId.ToString();
        m_Json["roleName"] = PlayerDatas.Instance.baseData.PlayerName;
        m_Json["sid"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
        m_Json["serverName"] = ServerListCenter.Instance.currentServer.name;
        m_Json["familyName"] = PlayerDatas.Instance.baseData.FamilyName;
        m_Json["level"] = PlayerDatas.Instance.baseData.LV;
        m_Json["job"] = PlayerDatas.Instance.baseData.Job.ToString();
        m_Json["money"] = PlayerDatas.Instance.baseData.Gold.ToString();
        m_Json["gameName"] = VersionConfig.Get().productName;
        m_Json["vipLevel"] = PlayerDatas.Instance.baseData.VIPLv.ToString();
        SendMessageToSDK(m_Json);
    }
System/Dogz/DogzActiveWin.cs
@@ -178,21 +178,25 @@
            {
                m_PropertyTypes[i].gameObject.SetActive(i < _dogzCfg.BaseAttrTypes.Length);
                m_PropertyValues[i].gameObject.SetActive(i < _dogzCfg.BaseAttrTypes.Length);
                string addAttrStr = "";
                string baseAttrStr = "";
                if (i < _dogzCfg.BaseAttrTypes.Length)
                {
                    var _propertyCfg = Config.Instance.Get<PlayerPropertyConfig>(_dogzCfg.BaseAttrTypes[i]);
                    m_PropertyTypes[i].text = _propertyCfg.Name;
                    int attrValue = _dogzCfg.BaseAttrValues[i];
                    if (isAddAttr && model.m_DogzEquipAttrDict[_propertyCfg.ID] > 0)
                    {
                        m_PropertyValues[i].text = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.BaseAttrValues[i], _propertyCfg.ISPercentage)
                      , _propertyCfg.ISPercentage == 1 ? "%" : string.Empty,"+",UIHelper.ReplacePercentage(model.m_DogzEquipAttrDict[_propertyCfg.ID], _propertyCfg.ISPercentage)
                        baseAttrStr = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.BaseAttrValues[i], _propertyCfg.ISPercentage)
                      , _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
                        addAttrStr = StringUtility.Contact("+", UIHelper.ReplacePercentage(model.m_DogzEquipAttrDict[_propertyCfg.ID], _propertyCfg.ISPercentage)
                   , _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
                    }
                    else
                    {
                        m_PropertyValues[i].text = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.BaseAttrValues[i], _propertyCfg.ISPercentage)
                        baseAttrStr = StringUtility.Contact(UIHelper.ReplacePercentage(_dogzCfg.BaseAttrValues[i], _propertyCfg.ISPercentage)
                      , _propertyCfg.ISPercentage == 1 ? "%" : string.Empty);
                    }
                  
@@ -200,13 +204,27 @@
                if(model.TryGetAssistDogzState(model.presentSelectDogz))
                {
                    m_PropertyTypes[i].material = MaterialUtility.GetUIDefaultGraphicMaterial();
                    m_PropertyValues[i].material = MaterialUtility.GetUIDefaultGraphicMaterial();
                    m_PropertyTypes[i].color = UIHelper.s_NavyBrown;
                    if(addAttrStr != "")
                    {
                        m_PropertyValues[i].text = StringUtility.Contact("<color=#401c06>", baseAttrStr, "</color>", "<color=#109d06>", addAttrStr, "</color>");
                    }
                    else
                    {
                        m_PropertyValues[i].text = StringUtility.Contact("<color=#401c06>", baseAttrStr, "</color>");
                    }
                }
                else
                {
                    m_PropertyTypes[i].material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                    m_PropertyValues[i].material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                    m_PropertyTypes[i].color = UIHelper.s_BrightWhiteColor;
                    if (addAttrStr != "")
                    {
                        m_PropertyValues[i].text = StringUtility.Contact("<color=#686868>", baseAttrStr, "</color>", "<color=#109d06>", addAttrStr, "</color>");
                    }
                    else
                    {
                        m_PropertyValues[i].text = StringUtility.Contact("<color=#686868>", baseAttrStr, "</color>");
                    }
                }
            }
        }
@@ -215,6 +233,7 @@
            m_Controller.m_Scorller.RefreshActiveCellViews();
            m_DogzAssistCnt.text = Language.Get("TreasurePrivilege_Dogz_1", StringUtility.Contact(model.GetAssistDogzCount(), "/", model.DogzAssistDefaultCnt));
            UpdateDogzBtn();
            UpdateDogzProperty();
        }
        private void UpdateDogzBtn()
        {
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);
System/FriendSystem/MailAllModel.cs
@@ -89,6 +89,8 @@
    private Dictionary<string, MailInfo> mailModelDict = new Dictionary<string,MailInfo>();
    private List<MailInfo> timeOrderMailInfo = new List<MailInfo>();
    private Regex smatch = new Regex(@"<MailTemplate>([^>.\n]*)</MailTemplate>([^>.\n]*)", RegexOptions.Singleline);
    private Regex smatchSystem = new Regex(@"[\\]*\/[\\]*", RegexOptions.Singleline);
    public string mailTitleStr = "";
    public string mailContentstr = "";
    public string mailSendPersonStr = "";
@@ -345,6 +347,7 @@
    public void GetReciveMailContent(MailInfo info)
    {
        Debug.Log(info.Text);
        info.Text = smatchSystem.Replace(info.Text, "/");
        if (smatch.IsMatch(info.Text))
        {
            Match match = smatch.Match(info.Text);
@@ -422,7 +425,7 @@
           
                if(mailContentArray.Length > 2)
                {
                    string mailDes = Regex.Replace(mailContentArray[2], @"<[\\]+/r>", "</r>");
                    string mailDes = mailContentArray[2];
                    mailContentstr = mailDes;
                }
            }
System/Login/LoginModel.cs
@@ -286,6 +286,8 @@
                    else if (SDKUtility.Instance.ChannelPlatform == SDKUtility.E_ChannelPlatform.Sp)
                    {
                        send.IDType = 3;
                        send.ExtraLen = (byte)SDKUtility.Instance.FreePlatformInfo.sessionID.Length;
                        send.Extra = SDKUtility.Instance.FreePlatformInfo.sessionID;
                    }
                    send.AccID = sdkLoginResult.account;
                    send.Password = sdkLoginResult.token;
@@ -295,6 +297,10 @@
                    send.AppID = VersionConfig.Get().appId;
                    send.AccountID = (uint)sdkLoginResult.accountID;// 内部登陆的时候的id
                    send.TokenExpire = sdkLoginResult.tokenExpire;// 内部登陆的时长,无所谓的
                    if (SDKUtility.Instance.ChannelPlatform == SDKUtility.E_ChannelPlatform.Sp)
                    {
                        send.TokenExpire = SDKUtility.Instance.FreePlatformInfo.timeStamp;
                    }
                    send.Phone = (byte)sdkLoginResult.phone;
                    send.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                    if (sdkIDCheckIDAuthentication.type == "1")
System/MainInterfacePanel/SkillTaskWin.cs
@@ -78,7 +78,7 @@
            if (mainModel.TaskId_Skill.Contains(mainModel.TaskSkillID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(mainModel.TaskSkillID);
                mainModel.Skill_Index = mainModel.SkillIndex[Index];
                mainModel.Skill_Index = mainModel.SkillIndex[Index] + 1;
            }
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
        }
System/MainInterfacePanel/TaskAllocation.cs
@@ -133,6 +133,10 @@
                        if (Gold >= NeedMoney)
                        {
                            taskmodel.CompletionOfTask(TaskID);
                            if (WindowCenter.Instance.CheckOpen<SkillPanel>())
                            {
                                return;
                            }
                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                        }
                        else
System/MainInterfacePanel/TipPanel.cs
@@ -91,7 +91,8 @@
            {
                firstTimeRechargeModel.OpenFirstChargeTrialWin();
            }
            else if(!WindowCenter.Instance.CheckOpen<PetAndMountPushWin>()) //灵宠坐骑推送
            else if(!WindowCenter.Instance.CheckOpen<PetAndMountPushWin>()
                && !WindowCenter.Instance.CheckOpen<OffLineOnHookWin>()) //灵宠坐骑推送
            {
                storeModel.SetPushPetAndMountWinState();
            }
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/Store/StoreModel.cs
@@ -69,6 +69,7 @@
        NewBieCenter.Instance.guideBeginEvent -= GuidBegin;
        shopItemlimitDict.Clear();
        petAndMountPushlist.Clear();
        ClearPushData();
        tagTowerModel = null;
        storeFuncType = StoreFunc.WeekStore;
        tcbRefreshDict.Clear();
@@ -1118,7 +1119,11 @@
    private void GuidBegin()
    {
        SetPushPetAndMountWinState(true,true);
        PetAndMountPushWin pushWin = WindowCenter.Instance.Get<PetAndMountPushWin>();
        if(pushWin != null)
        {
            SetPushPetAndMountWinState(true, true);
        }
    }
    private void OnMoveTopPart(bool isMove)
System/Strengthening/GodBeastAttributes.cs
@@ -35,6 +35,10 @@
        [SerializeField] UIAlphaTween m_UIAlphaTween;
        [SerializeField] Slider m_Slider;
        [SerializeField] GameObject m_Text_two;//下级属性
        [SerializeField] Button m_StrengthenDoubleBtn;//双倍强化按钮
        [SerializeField] Text m_NeedFairy;//所需的仙玉
        DogzModel Dogz_model;
        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
        private Dictionary<int, int> QualityLimit = new Dictionary<int, int>();
@@ -57,6 +61,7 @@
        {
            m_DoubleToggle.onValueChanged.AddListener(OnClickToggle);
            m_StrengthenBtn.AddListener(OnClickStrengthBtn);
            m_StrengthenDoubleBtn.AddListener(OnClickStrengthBtn);
        }
        private void OnEnable()
        {
@@ -94,25 +99,28 @@
        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)
        {
            GetGodBeastLocationMarker(locationMarker);
        }
        private void AbsorbEvent()//选中取消的数据刷新
        private void AbsorbEvent()//选中与取消的数据刷新
        {
            GetDogZLevelAndExp();
            AttributeAssignment();
@@ -155,6 +163,11 @@
                m_ExpSlider.ResetStage();
                m_ExpSlider.value = 0;
                m_ExpNum.text = "0/0";
                m_TextAttributes1.gameObject.SetActive(false);
                m_TextAttributes2.gameObject.SetActive(false);
                m_TextAttributesAdd1.gameObject.SetActive(false);
                m_TextAttributesAdd2.gameObject.SetActive(false);
                m_Text_two.SetActive(false);
                m_FrameNull.SetActive(false);
                m_FullLevel.SetActive(false);
            }
@@ -174,36 +187,59 @@
                var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, lv);
                if (DogZLv >= lv)
                {
                    m_Text_two.SetActive(false);
                    m_FrameNull.SetActive(false);
                    m_TextAttributes1.gameObject.SetActive(false);
                    m_TextAttributes2.gameObject.SetActive(false);
                    m_TextAttributesAdd1.gameObject.SetActive(false);
                    m_TextAttributesAdd2.gameObject.SetActive(false);
                    m_FullLevel.SetActive(true);
                    GodBeast_Number = GodBeastNumber;
                    GodBeast_Part = GodBeastPart;
                    m_ExpSlider.stage = lv;
                    m_ExpSlider.delay = 0f;
                    m_ExpSlider.ResetStage();
                    m_ExpSlider.value = 1;
                    m_Slider.gameObject.SetActive(false);
                    m_ExpNum.text = DogzEquipConfig.upExpTotal + "/" + DogzEquipConfig.upExpTotal;
                    int NeedExp = DogzEquipConfig.upExpTotal;
                    if (DogZLv > 0)
                    {
                        var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
                        NeedExp -= Dogz_EquipConfig.upExpTotal;
                    }
                    m_ExpNum.text = DogZExp + "/" + NeedExp;
                }
                else
                {
                    m_Text_two.SetActive(true);
                    if (m_DoubleToggle.isOn)
                    {
                        m_StrengthenBtn.gameObject.SetActive(false);
                        m_StrengthenDoubleBtn.gameObject.SetActive(true);
                        m_NeedFairy.text = NeedFairyJade.ToString();
                        PropertySetting(DogZExp, DoubleProficiency);
                    }
                    else
                    {
                        m_StrengthenBtn.gameObject.SetActive(true);
                        m_StrengthenDoubleBtn.gameObject.SetActive(false);
                        PropertySetting(DogZExp, SingleProficiency);
                    }
                }
            }
            else
            {
                if (m_DoubleToggle.isOn)
                {
                    m_StrengthenBtn.gameObject.SetActive(false);
                    m_StrengthenDoubleBtn.gameObject.SetActive(true);
                    m_NeedFairy.text = NeedFairyJade.ToString();
                    PropertySetting(0, DoubleProficiency);
                }
                else
                {
                    m_StrengthenBtn.gameObject.SetActive(true);
                    m_StrengthenDoubleBtn.gameObject.SetActive(false);
                    PropertySetting(0, SingleProficiency);
                }
            }
@@ -254,6 +290,12 @@
                m_LvNextText.text = "+" + toLv.ToString();
            }
            var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv);
            int NeedExp = DogzEquipConfig.upExpTotal;
            if (DogZLv > 0)
            {
                var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
                NeedExp -= Dogz_EquipConfig.upExpTotal;
            }
            int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
            int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
            if (ToExpTotal == 0)
@@ -261,8 +303,9 @@
                m_Slider.gameObject.SetActive(false);
                m_TextAttributesAdd1.gameObject.SetActive(false);
                m_TextAttributesAdd2.gameObject.SetActive(false);
                m_ExpNum.text = DogZExp + "/" + DogzEquipConfig.upExpTotal;
                float value = (float)DogZExp / DogzEquipConfig.upExpTotal;
                m_ExpNum.text = DogZExp + "/" + NeedExp;
                float value = (float)DogZExp / NeedExp;
                SetExperienceBar(DogZLv, value);
                if (AttType.Length > 1)
                {
@@ -283,54 +326,30 @@
            else
            {
                m_Slider.gameObject.SetActive(true);
                if (DogZExp + ToExpTotal >= DogzEquipConfig.upExpTotal)
                if (DogZExp + ToExpTotal >= NeedExp)
                {
                    m_Slider.value = 1f;
                }
                else
                {
                    m_Slider.value = (float)(DogZExp + ToExpTotal) / (float)(DogzEquipConfig.upExpTotal);
                    m_Slider.value = (float)(DogZExp + ToExpTotal) / (float)(NeedExp);
                }
                m_UIAlphaTween.Play();
                var DogzEquipToConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, toLv);
                int[] AttTypeTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attType);
                int[] AttValueTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attValue);
                string strColor = string.Format(Language.Get("DogzGreenText"), ToExpTotal);
                m_ExpNum.text = DogZExp + strColor + "/" + DogzEquipConfig.upExpTotal;
                float value= (float)DogZExp / DogzEquipConfig.upExpTotal;
                m_ExpNum.text = DogZExp + strColor + "/" + NeedExp;
                float value = (float)DogZExp / NeedExp;
                SetExperienceBar(DogZLv, value);
                if (AttType.Length > 1)
                {
                    m_TextAttributes1.gameObject.SetActive(true);
                    m_TextAttributes2.gameObject.SetActive(true);
                    m_TextAttributesAdd1.gameObject.SetActive(true);
                    m_TextAttributesAdd2.gameObject.SetActive(true);
                    string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
                    string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name;
                    m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
                    m_TextAttributes2.text = StrName2 + ":" + AttValue[1];
                    m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
                    m_TextAttributesAdd2.text = "+" + (AttValueTo[1] - AttValue[1]);
                }
                else
                {
                    m_TextAttributes1.gameObject.SetActive(true);
                    m_TextAttributesAdd1.gameObject.SetActive(true);
                    m_TextAttributes2.gameObject.SetActive(false);
                    m_TextAttributesAdd2.gameObject.SetActive(false);
                    string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
                    m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
                    m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
                }
            }
            SetAddAttributes(DogzEquipConfig, GodBeastPart, toLv);//设置预览的属性
            if (ToExpTotal == 0)
            {
                m_StrengthenBtn.interactable = false;
                m_StrengthenDoubleBtn.interactable = false;
            }
            else
            {
                m_StrengthenBtn.interactable = true;
                m_StrengthenDoubleBtn.interactable = true;
            }
        }
@@ -342,6 +361,11 @@
                return DogzLv;
            }
            int lv = QualityLimit[m_DogZItemModel.chinItemModel.ItemColor];
            var IudetDogzEquipPlus = m_DogZItemModel.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);
            if (IudetDogzEquipPlus != null)
            {
                ToExpTotal+= IudetDogzEquipPlus[1];
            }
            for (int i = lv; i >= 0; i--)
            {
                var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, i);
@@ -384,14 +408,23 @@
            if (IudetDogzEquipPlus != null)
            {
                DogZLv = IudetDogzEquipPlus[0];
                DogZExp = IudetDogzEquipPlus[1];
                if (DogZLv > 0)
                {
                    var Dogz_EquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, DogZLv - 1);
                    DogZExp = IudetDogzEquipPlus[1] - Dogz_EquipConfig.upExpTotal;
                }
                else
                {
                    DogZExp = IudetDogzEquipPlus[1];
                }
            }
        }
        int GodBeast_Number = 0;
        int GodBeast_Part = 0;
        private void SetExperienceBar(int lv,float value)//设置经验条
        private void SetExperienceBar(int lv, float value)//设置经验条
        {
            if (GodBeast_Number != GodBeastNumber || GodBeast_Part != GodBeastPart)
            {
@@ -409,6 +442,39 @@
                m_ExpSlider.value = value;
            }
        }
        private void SetAddAttributes(DogzEquipPlusConfig DogzEquipConfig, int GodBeastPart, int toLv)//设置预览的属性
        {
            int[] AttType = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attType);
            int[] AttValue = ConfigParse.GetMultipleStr<int>(DogzEquipConfig.attValue);
            var DogzEquipToConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(GodBeastPart, toLv);
            int[] AttTypeTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attType);
            int[] AttValueTo = ConfigParse.GetMultipleStr<int>(DogzEquipToConfig.attValue);
            if (AttType.Length > 1)
            {
                m_TextAttributes1.gameObject.SetActive(true);
                m_TextAttributes2.gameObject.SetActive(true);
                m_TextAttributesAdd1.gameObject.SetActive(true);
                m_TextAttributesAdd2.gameObject.SetActive(true);
                string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
                string StrName2 = Config.Instance.Get<PlayerPropertyConfig>(AttType[1]).Name;
                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
                m_TextAttributes2.text = StrName2 + ":" + AttValue[1];
                m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
                m_TextAttributesAdd2.text = "+" + (AttValueTo[1] - AttValue[1]);
            }
            else
            {
                m_TextAttributes1.gameObject.SetActive(true);
                m_TextAttributesAdd1.gameObject.SetActive(true);
                m_TextAttributes2.gameObject.SetActive(false);
                m_TextAttributesAdd2.gameObject.SetActive(false);
                string StrName1 = Config.Instance.Get<PlayerPropertyConfig>(AttType[0]).Name;
                m_TextAttributes1.text = StrName1 + ":" + AttValue[0];
                m_TextAttributesAdd1.text = "+" + (AttValueTo[0] - AttValue[0]);
            }
        }
    }
}
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/Strengthening/GodBeastModel.cs
@@ -17,6 +17,7 @@
    public event Action AbsorbEvent;
    public int ItemInde = 0;//物品下标
    public ItemModel Crystal_ItemModel;
    public int ItemPlace =-1;//神兽装备位置信息
    DogzModel Dogz_model;
    DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
    PlayerPackModel _playerPack;
System/Strengthening/GodBeastReinforcementWin.cs
@@ -21,6 +21,7 @@
        public int GodBeastStar;//神兽星级
        public int LocationMarker;//位置标记
        public int EquipScore;//装备评分
        public int ItemPlace;//背包装备位置
    }
    public class GodBeastReinforcementWin : Window
    {
@@ -32,6 +33,8 @@
        DogzModel dogz_model { get { return Dogz_model ?? (Dogz_model = ModelCenter.Instance.GetModel<DogzModel>()); } }
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
        GodBeastModel GodBeastModel;
        GodBeastModel godBeastModel { get { return GodBeastModel ?? (GodBeastModel = ModelCenter.Instance.GetModel<GodBeastModel>()); } }
        public static event Action<int> ChooseToModify;
        private List<GodBeastClass> GodBeastList = new List<GodBeastClass>();
        private int CurrentlySelected = 0;
@@ -49,13 +52,33 @@
        {
            CurrentlySelected = 0;
            GetGodBeast();//获取神兽强化装备信息
            if (GodBeastList.Count > 0)
            if (godBeastModel.ItemPlace != -1)
            {
                CurrentlySelected = GodBeastList[0].LocationMarker;
                m_ScrollerController.JumpIndex(0);
                for (int i = 0; i < GodBeastList.Count; i++)
                {
                    if (GodBeastList[i].ItemPlace == godBeastModel.ItemPlace)
                    {
                        CurrentlySelected = GodBeastList[i].LocationMarker;
                        int Index = 0;
                        Index = GodBeastList.FindIndex((x) =>
                        {
                            return x.ItemPlace == godBeastModel.ItemPlace;
                        });
                        m_ScrollerController.JumpIndex(Index);
                    }
                }
            }
            else
            {
                if (GodBeastList.Count > 0)
                {
                    CurrentlySelected = GodBeastList[0].LocationMarker;
                    m_ScrollerController.JumpIndex(0);
                }
            }
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            OnCreateGridLineCell(m_ScrollerController);
            OnCreateGridLineCell(m_ScrollerController);
            m_GodBeastSlidingList.Init();
            m_GodBeastAttributes.Init();
            m_GodBeastAttributes.GetGodBeastLocationMarker(CurrentlySelected);
@@ -63,20 +86,32 @@
        protected override void OnAfterOpen()
        {
            playerPack.RefreshItemCountAct += RefreshItemCountAct;
            playerPack.RefreshItemCountAct += RefreshItemCountAct;
            DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent;
        }
        protected override void OnPreClose()
        {
            godBeastModel.ItemPlace = -1;
            playerPack.RefreshItemCountAct -= RefreshItemCountAct;
            m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
            m_ScrollerController.OnRefreshCell -= OnRefreshGridCell;
            DTCA814_tagMCMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent;
        }
        private void MakeItemAnswerEvent(HA814_tagMCMakeItemAnswer obj)
        {
            if ((int)obj.MakeType == (int)MakeType.Def_mitDogzEquipPlus)
            {
            }
        }
        private void RefreshItemCountAct(PackType arg1, int arg2, int arg3)
        {
            if (arg1 == PackType.rptDogzEquip)
            {
                OnCreateGridLineCell(m_ScrollerController);
                //OnCreateGridLineCell(m_ScrollerController);
                m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
                m_GodBeastSlidingList.Init();
                m_GodBeastAttributes.Init();
                m_GodBeastAttributes.GetGodBeastLocationMarker(CurrentlySelected);
@@ -96,7 +131,7 @@
            {
                if (DogzEquipDict[key] == 1)
                {
                    List<ItemModel> itemModel = dogz_model.GetDogzEquips(key);
                    for (int i = 0; i < itemModel.Count; i++)
                    {
@@ -106,6 +141,7 @@
                        godBeastClass.GodBeastQuality = itemModel[i].chinItemModel.ItemColor;
                        godBeastClass.GodBeastStar = itemModel[i].chinItemModel.StarLevel;
                        godBeastClass.EquipScore = itemModel[i].equipScore;
                        godBeastClass.ItemPlace = itemModel[i].itemInfo.ItemPlace;
                        var IudetDogzEquipPlus = itemModel[i].GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus);// 神兽装备强化信息列表 [强化等级, 强化熟练度]
                        if (IudetDogzEquipPlus == null)
                        {
@@ -116,8 +152,8 @@
                        {
                            godBeastClass.GodBeastLv = IudetDogzEquipPlus[0];
                            godBeastClass.GodBeasProficiency = IudetDogzEquipPlus[1];
                        }
                        godBeastClass.LocationMarker=itemModel[i].EquipPlace*100+key;
                        }
                        godBeastClass.LocationMarker = itemModel[i].EquipPlace * 100 + key;
                        GodBeastList.Add(godBeastClass);
                    }
                }
@@ -177,7 +213,7 @@
            int locationMarker = cell.index;
            godBeastEntry.GetGodBeastLocationMarker(locationMarker, CurrentlySelected);
            godBeastEntry.GodBeastButton.RemoveAllListeners();
            godBeastEntry.GodBeastButton.AddListener(()=>
            godBeastEntry.GodBeastButton.AddListener(() =>
            {
                if (locationMarker != CurrentlySelected)
                {
@@ -187,7 +223,7 @@
                    {
                        ChooseToModify(CurrentlySelected);
                    }
                }
                }
            });
        }
    }
System/Strengthening/WashTips.cs
@@ -490,7 +490,15 @@
                {
                    if (equipWashModel.IsWashFull(_itemModel, _washProModel, _tagWashModel))
                    {
                        _washFullLvText.text = Language.Get("EquipWash113", _itemModel.chinItemModel.LV, equipWashModel.GetWashFullLv(_itemModel.chinItemModel.LV));
                        if(_washProModel.XLAttrLV  >= equipWashModel.GetMaxWashLv()
                            && _washProModel.XLAttrLV <= equipWashModel.GetWashFullLv(_itemModel.chinItemModel.LV))
                        {
                            _washFullLvText.text = Language.Get("WashLevelFulled");
                        }
                        else
                        {
                            _washFullLvText.text = Language.Get("EquipWash113", _itemModel.chinItemModel.LV, equipWashModel.GetWashFullLv(_itemModel.chinItemModel.LV));
                        }
                        ObjHideOrShow(false, false, false, false, true);
                    }
                    else
@@ -532,6 +540,8 @@
                ObjHideOrShow(false, false, false, false, true);
            }
        }
        else
        {
System/Treasure/TreasureModel.cs
@@ -17,7 +17,6 @@
        public const int TREASURE_DATAMAPID = 41110;
        public const int TREASURE_MAPID = 41110;
        public const int TREASURE_GUIDE_ID = 102;
        public const int TREASURE_SOUL_ID = 115;
        const int TREASURE_REDPOINTID = 7000;
        readonly static int[] CATEGORY_REDPOINTIDS = { 7001, 7002, 7003, 7004, 7005 };
@@ -33,7 +32,6 @@
        Redpoint zergRedpoint = new Redpoint(TREASURE_REDPOINTID, CATEGORY_REDPOINTIDS[(int)TreasureCategory.Zerg - 1]);
        public Redpoint stoveRedpoint = new Redpoint(CATEGORY_REDPOINTIDS[(int)TreasureCategory.Fairy - 1], 7200);
        public Redpoint treasureSoulRedpoint = new Redpoint(1, TREASURE_SOUL_ID);
        public event Action<int> treasureCollectProgressUpdateEvent;
        public event Action<int> treasureSelectedEvent;
System/Treasure/TreasureSoulModel.cs
@@ -8,6 +8,10 @@
{
    public class TreasureSoulModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public const int TREASURE_SOUL_ID = 115;
        Redpoint treasureSoulRedpoint = new Redpoint(1, TREASURE_SOUL_ID);
        Redpoint treasureSoulNewGotRedpoint = new Redpoint(TREASURE_SOUL_ID, 115100);
        Dictionary<int, TreasureSpecialData> treasureSoulDict = new Dictionary<int, TreasureSpecialData>();
        List<int> treasureSouls = new List<int>();
        public Dictionary<int, int> signAddProperty = new Dictionary<int, int>();
@@ -32,6 +36,8 @@
        public int gotoSoul { get; set; }
        public int newGotSoul { get; set; }
        public bool serverInited { get; private set; }
        PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -41,6 +47,7 @@
        {
            packModel.RefreshItemCountAct += RefreshItemCountAct;
            PlayerStrengthengDatas.RefreshEquipUpgradLvAct += RefreshEquipSTRLv;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            ParseConfig();
        }
@@ -54,6 +61,7 @@
                special.itemGet = false;
                special.active = false;
            }
            treasureSoulNewGotRedpoint.state = RedPointState.None;
        }
        public void OnPlayerLoginOk()
@@ -66,6 +74,7 @@
        {
            packModel.RefreshItemCountAct -= RefreshItemCountAct;
            PlayerStrengthengDatas.RefreshEquipUpgradLvAct -= RefreshEquipSTRLv;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
        }
        void ParseConfig()
@@ -88,6 +97,11 @@
            {
                signAddProperty.Add(int.Parse(_key), int.Parse(jsonData[_key].ToString()));
            }
        }
        public void SetViewTreasureNewGot()
        {
            treasureSoulNewGotRedpoint.state = RedPointState.None;
        }
        public List<int> GetTreasureSouls()
@@ -152,6 +166,14 @@
            }
        }
        private void OnFuncStateChangeEvent(int func)
        {
            if (func == 126)
            {
                UpdateRedpoints();
            }
        }
        public void UpdateTreasurePrivilege(HA353_tagMCMWPrivilegeDataInfo package)
        {
            for (int i = 0; i < package.Count; i++)
@@ -164,12 +186,12 @@
                }
                bool beforeActived = special.active;
                special.active = _data.State == 1;
                //if (!beforeActived && special.active && serverInited && WindowCenter.Instance.CheckOpen<TreasureSoulWin>()
                //    && !WindowCenter.Instance.CheckOpen<TreasureSoulActiveWin>() && !NewBieCenter.Instance.inGuiding)
                //{
                //    TreasureSoulActiveWin.treasureSoulId = (int)_data.PriID;
                //    WindowCenter.Instance.Open<TreasureSoulActiveWin>();
                //}
                if (!beforeActived && special.active && serverInited
                    && !WindowCenter.Instance.CheckOpen<TreasureSoulWin>())
                {
                    treasureSoulNewGotRedpoint.state = RedPointState.Simple;
                    newGotSoul = (int)_data.PriID;
                }
                if ((TreasurePrivilege)_data.PriID == TreasurePrivilege.StrengthenAdd)
                {
                    if (treasureSoulEvent != null)
@@ -363,7 +385,7 @@
                totalProgress = configs[configs.Count - 1].countNeed;
            }
            redpoint = new Redpoint(TreasureModel.TREASURE_SOUL_ID, TreasureModel.TREASURE_SOUL_ID * 100 + (int)type);
            redpoint = new Redpoint(TreasureSoulModel.TREASURE_SOUL_ID, TreasureSoulModel.TREASURE_SOUL_ID * 100 + (int)type);
            switch (_type)
            {
                case TreasurePrivilege.DemonJarAtk:
System/Treasure/TreasureSoulWin.cs
@@ -83,6 +83,7 @@
            model.treasureSoulEvent += TreasureSoulEvent;
            m_TreasureSoulBtn.state = TitleBtnState.Click;
            Display();
            model.SetViewTreasureNewGot();
        }
        protected override void OnActived()
@@ -113,6 +114,7 @@
                m_TreasureSouls[i].Dispose();
            }
            m_SelectSoul = model.selectSoul;
            model.newGotSoul = 0;
        }
        protected override void OnAfterClose()
@@ -178,6 +180,11 @@
                {
                    _select = sortSouls[i];
                }
            }
            if (model.newGotSoul != 0 && sortSouls.Contains(model.newGotSoul))
            {
                _select = model.newGotSoul;
                model.newGotSoul = 0;
            }
            _select = _select == 0 ? sortSouls[0] : _select;
            return _select;
@@ -423,11 +430,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);
        }
Utility/EnumHelper.cs
@@ -787,6 +787,7 @@
    Def_mitRefine = 18,            // 炼丹
    Def_mitMWUpLevel = 19,         //法宝进阶
    Def_DanRecycle = 20, //丹药回收
    Def_mitDogzEquipPlus=21,// 神兽装备强化
}
/// <summary>
/// 金钱类型(虚拟物品)
Utility/UIHelper.cs
@@ -359,7 +359,7 @@
    public static readonly Color32 s_BrightBlueColor = new Color32(0, 107, 227, 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_BrightGreenColor = new Color32(16, 157, 6, 255); //109d06
    public static readonly Color32 s_DarkPinkColor = new Color32(255, 124, 124, 255);
    public static readonly Color32 s_DarkRedColor = new Color32(250, 1, 1, 255);