少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-05 60f616fc149c620953f468d1383f15a810f898df
3555 新版装备功能开发
25个文件已修改
616 ■■■■■ 已修改文件
Lua/Gen/SnxxzUIItemOperateUtilityWrap.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIPackModelWrap.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BetterItemGet/BetterEquipGetModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSet.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSuitPropertyWidget.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/BetterItemGetBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemLogicUtility.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemModel.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOperateUtility.cs 386 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/FairyWearWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/RealmBetterEquipBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/DungeonGuardCheckBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/LowSettingTip.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastAttributes.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastEntry.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastReinforcementWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastSlidingList.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WingsBouncedWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/ConfigInitiator.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/VesselExtension.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIItemOperateUtilityWrap.cs
@@ -113,7 +113,7 @@
                    ItemOperateType _btnType;translator.Get(L, 2, out _btnType);
                    string _guid = LuaAPI.lua_tostring(L, 3);
                    
                    gen_to_be_invoked.PutOnItem( _btnType, _guid );
                    gen_to_be_invoked.PutOnItem(  _guid );
                    
                    
                    
@@ -171,10 +171,6 @@
                    int _equipPlace = LuaAPI.xlua_tointeger(L, 2);
                    int _itemIndex = LuaAPI.xlua_tointeger(L, 3);
                    Snxxz.UI.ItemModel _oldItem = (Snxxz.UI.ItemModel)translator.GetObject(L, 4, typeof(Snxxz.UI.ItemModel));
                    gen_to_be_invoked.PutOnEquip( _equipPlace, _itemIndex, _oldItem );
                    
                    return 0;
                }
@@ -790,14 +786,6 @@
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedItem(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.ItemOperateUtility gen_to_be_invoked = (Snxxz.UI.ItemOperateUtility)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedItem);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
Lua/Gen/SnxxzUIPackModelWrap.cs
@@ -1057,11 +1057,6 @@
                {
                    Snxxz.UI.SinglePack.FilterParams _param;translator.Get(L, 2, out _param);
                    
                        System.Collections.Generic.List<Snxxz.UI.ItemModel> gen_ret = gen_to_be_invoked.GetItems( _param );
                        translator.Push(L, gen_ret);
                    return 1;
                }
                
System/BetterItemGet/BetterEquipGetModel.cs
@@ -71,7 +71,7 @@
                if(isCoolEnd)
                {
                    DebugEx.Log("UpdateCoolTime:" + _equip.itemId);
                    ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn,guid);
                    ItemOperateUtility.Instance.PutOnItem(guid);
                    ReportConfirmBetterEquip(guid);
                }
            }
System/Equip/EquipModel.cs
@@ -22,9 +22,6 @@
        public readonly LogicString selectedEquip = new LogicString();
        public readonly LogicInt selectedStarLevel = new LogicInt();
        int m_AppearanceLevel = 0;
        public int appearanceLevel { get { return m_AppearanceLevel; } }
        Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>();
        Dictionary<string, CandidateEquip> candidateEquips = new Dictionary<string, CandidateEquip>();
@@ -50,7 +47,7 @@
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var lastestSet = 0;
            var lastestSet = 1;
            return lastestSet;
        }
@@ -69,7 +66,7 @@
            {
                candidateEquips.Clear();
                selectedEquip.value = string.Empty;
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    level = selectedLevel.value,
                    equipType = selectedPlace.value
@@ -100,6 +97,7 @@
            selectedLevel.value = 0;
            selectedPlace.value = 0;
            selectedEquip.value = string.Empty;
            selectedStarLevel.value = 0;
        }
        public List<string> GetCandidateEquips()
@@ -168,6 +166,17 @@
            }
            return equipSets[level];
        }
        public string GetEquip(int level, int place)
        {
            var set = GetEquipSet(level);
            if (set == null)
            {
                return string.Empty;
            }
            return set.GetEquip(place);
        }
        public void SetAppearance(int level)
@@ -340,9 +349,36 @@
        private void OnItemPackRefresh(PackType type)
        {
            if (type == PackType.Item)
            switch (type)
            {
                case PackType.Item:
                UpdateRedpoints();
                    break;
                case PackType.Equip:
                    foreach (var set in equipSets.Values)
                    {
                        for (var i = 1; i <= 12; i++)
                        {
                            set.UpdateEquipSlot(i, string.Empty);
                        }
                    }
                    var items = packModel.GetItems(PackType.Equip, new SinglePack.FilterParams()
                    {
                        level = 0,
                        quality = 0,
                        equipType = 0,
                        itemType = 0
                    });
                    foreach (var item in items)
                    {
                        var clientPlace = EquipSet.ServerPlaceToClientPlace(item.itemPlace);
                        equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, item.guid);
                    }
                    break;
                default:
                    break;
            }
        }
@@ -350,18 +386,23 @@
        {
            if (type == PackType.Item)
            {
                return;
            }
            var config = ItemConfig.Get(itemId);
            var level = config.LV;
            if (!equipSets.ContainsKey(level))
                if (equipSets.ContainsKey(level))
            {
                return;
            }
            var item = packModel.GetItemByIndex(PackType.Item, index);
                    if (item != null)
                    {
            equipSets[level].UpdateRedPoint(item.guid);
                    }
                }
            }
            else if (type == PackType.Equip)
            {
                var equip = packModel.GetItemByIndex(PackType.Equip, index);
                var clientPlace = EquipSet.ServerPlaceToClientPlace(index);
                equipSets[clientPlace.x].UpdateEquipSlot(clientPlace.y, equip == null ? string.Empty : equip.guid);
            }
        }
        private void UpdateRedpoints()
@@ -369,7 +410,7 @@
            var equips = new List<ItemModel>();
            for (var i = 1; i <= 12; i++)
            {
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    equipType = i,
                });
@@ -412,7 +453,7 @@
            var equips = new List<ItemModel>();
            for (var i = 1; i <= 12; i++)
            {
                var items = packModel.GetItems(new SinglePack.FilterParams()
                var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                {
                    level = level,
                    equipType = i,
@@ -448,7 +489,7 @@
            foreach (var item in configs)
            {
                var level = item.level;
                var currentRealm = setLevelToRealms.ContainsKey(level) ? 9999 : setLevelToRealms[level];
                var currentRealm = setLevelToRealms.ContainsKey(level) ? setLevelToRealms[level] : 9999;
                if (item.realm < currentRealm)
                {
                    setLevelToRealms[level] = item.realm;
System/Equip/EquipSet.cs
@@ -32,9 +32,12 @@
        }
        public void UpdateEquipSlots()
        public void UpdateEquipSlot(int place, string equipGuid)
        {
            if (equipSlots.ContainsKey(place))
            {
                equipSlots[place].equip.value = equipGuid;
            }
        }
        public void SelectPlace(int place)
@@ -93,7 +96,7 @@
                return;
            }
            var place = equip.equipPlace;
            var place = equip.config.EquipPlace;
            if (!equipSlots.ContainsKey(place))
            {
                return;
@@ -105,7 +108,7 @@
                return;
            }
            if (!IsPlaceCompatible(place, equip.equipPlace))
            if (!IsPlaceCompatible(place, equip.config.EquipPlace))
            {
                return;
            }
@@ -220,8 +223,6 @@
        private bool IsPlaceCompatible(int slotPlace, int equipPlace)
        {
            slotPlace = slotPlace == 10 ? 9 : slotPlace;
            equipPlace = equipPlace == 10 ? 9 : equipPlace;
            return slotPlace == equipPlace;
        }
System/Equip/EquipSuitPropertyWidget.cs
@@ -39,7 +39,7 @@
            m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
            for (int i = 1; i <= 8; i++)
            {
                var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i));
                var equip = packModel.GetItemByGuid(model.GetEquip(level, i));
                var hasSuit = equip != null && equip.config.SuiteiD > 0;
                m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.Gray);
            }
System/EquipStar/EquipStarModel.cs
@@ -221,14 +221,14 @@
                return null;
            }
            var equipGuid = equipModel.GetEquipSet(level).GetEquip(place);
            var equipGuid = equipModel.GetEquip(level,place);
            var equip = packModel.GetItemByGuid(equipGuid);
            if (equip == null)
            {
                return null;
            }
            var expcetMaterials = packModel.GetItems(new SinglePack.FilterParams()
            var expcetMaterials = packModel.GetItems( PackType.Item, new SinglePack.FilterParams()
            {
                level = 0,
                quality = 0,
System/KnapSack/BetterItemGetBehaviour.cs
@@ -137,7 +137,7 @@
                }
                else
                {
                    ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.currentEquipGuid);
                    ItemOperateUtility.Instance.PutOnItem(model.currentEquipGuid);
                    model.ReportConfirmBetterEquip(model.currentEquipGuid);
                }
            }
System/KnapSack/Logic/ItemLogicUtility.cs
@@ -828,7 +828,7 @@
                            var equipItemModel = playerPack.GetItemByIndex(PackType.Equip, model.config.EquipPlace);
                            if (PlayerDatas.Instance.baseData.LV >= 200)
                            {
                                if (model.equipPlace > (int)RoleEquipType.Weapon2 && model.equipPlace < (int)RoleEquipType.Neck)
                                if (model.config.EquipPlace > (int)RoleEquipType.Weapon2 && model.config.EquipPlace < (int)RoleEquipType.Neck)
                                {
                                    if (equipItemModel != null && equipItemModel.config.ItemColor > model.config.ItemColor)
                                    {
System/KnapSack/Logic/ItemModel.cs
@@ -14,17 +14,15 @@
        public int equipScore { get; private set; }
        public Dictionary<int, List<int>> useDataDict { get; private set; }
        public int equipPlace
        public int equipPlace {
            get {
                if ((config.Type >= 101 && config.Type <= 112) || (config.Type >= 128 && config.Type <= 137))
        {
            get
            {
                if (packType != PackType.Equip)
                {
                    return config == null ? 0 : config.EquipPlace;
                    return EquipSet.ClientPlaceToServerPlace(config.LV, config.EquipPlace);
                }
                else
                {
                    return itemPlace;
                    return 0;
                }
            }
        }
System/KnapSack/Logic/ItemOperateUtility.cs
@@ -9,7 +9,8 @@
    [XLua.LuaCallCSharp]
    public class ItemOperateUtility : Singleton<ItemOperateUtility>
    {
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        StrengthenModel strengthModel { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } }
        EquipWashModel equipWashModel { get { return ModelCenter.Instance.GetModel<EquipWashModel>(); } }
@@ -24,274 +25,84 @@
        #region 装备
        public ItemModel selectedItem { get; private set; }
        ItemConfig sendItemConfig = null;
        int itemIndex = -1;
        public void PutOnItem(ItemOperateType btnType, string guid)
        public string operateItemGuid { get; private set; }
        public void PutOnItem(string guid)
        {
            selectedItem = playerPack.GetItemByGuid(guid);
            this.operateItemGuid = guid;
            var selectedItem = packModel.GetItemByGuid(guid);
            if (selectedItem == null)
            {
                return;
            }
            var itemId = selectedItem.itemId;
            sendItemConfig = ItemConfig.Get(selectedItem.itemId);
            if (sendItemConfig.JobLimit != 0 && sendItemConfig.JobLimit / 100 != PlayerDatas.Instance.baseData.Job)
            if (selectedItem.config.JobLimit != 0 && selectedItem.config.JobLimit / 100 != PlayerDatas.Instance.baseData.Job)
            {
                SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379");
                return;
            }
            itemIndex = selectedItem.itemPlace;
            var putOnLimits = selectedItem.GetUseDataModel((int)ItemUseDataKey.cancelUseLimit);
            if (putOnLimits != null)
            if (putOnLimits != null && putOnLimits[0] == 1)
            {
                if (putOnLimits[0] == 1)
                var placable = CheckPutOnPlace(itemId);
                if (!placable)
                {
                    CheckPutOnPlace(itemId);
                    return;
                }
                else
                {
                    CheckEquipUseLimit(itemId);
                PutOnEquip(selectedItem.equipPlace,selectedItem.guid);
                return;
                }
            }
            else
            var wearable = IsWearable(itemId);
            if (wearable)
            {
                CheckEquipUseLimit(itemId);
                var placable = CheckPutOnPlace(itemId);
                if (!placable)
                {
                    return;
                }
                PutOnEquip(selectedItem.equipPlace, selectedItem.guid);
            }
        }
        bool CheckEquipUseLimit(int itemId)
        bool IsWearable(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            int[] uselimits = config.UseCondiType;
            if (uselimits == null || uselimits.Length < 1)
            var uselimits = config.UseCondiType;
            var wearable = true;
            if (!uselimits.IsNullOrEmpty())
            {
                CheckPutOnPlace(itemId);
                return true;
            }
            bool wearable = true;
            for (int i = 0; i < uselimits.Length; i++)
            {
                switch (uselimits[i])
                {
                    case 0:
                        var level = PlayerDatas.Instance.baseData.LV;
                        if (level < config.UseLV)
                        {
                            wearable = false;
                            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
                                Language.Get("EquipWinLevelLimit", config.UseLV, config.UseLV - level));
                        }
                        break;
                    case 1:
                        wearable = CheckPutOnRealm(itemId);
                        break;
                    case 2:
                        wearable = CheckPutOnNeed(itemId);
                        break;
                }
            }
            if (wearable)
            {
                CheckPutOnPlace(itemId);
            }
            return wearable;
        }
        /// <summary>
        /// 检测穿戴装备所需要的条件
        /// </summary>
        private StringBuilder offsetConditionStr = new StringBuilder();
        private StringBuilder upgradConditionStr = new StringBuilder();
        private StringBuilder needConditionStr = new StringBuilder();
        private Dictionary<AttrEnum, float> sumOffsetlist = new Dictionary<AttrEnum, float>();
        private Dictionary<AttrEnum, int> sumNeedlist = new Dictionary<AttrEnum, int>();
        private float sumOffsetPoint = 0;
        private int sumNeedPoint = 0;
        private bool CheckPutOnNeed(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            int playerJob = PlayerDatas.Instance.baseData.Job;
            if (playerJob != Math.Floor((double)config.JobLimit / 100) && config.JobLimit != 0)
            {
                SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379");
                return false;
            }
            int jobRank = config.JobLimit % 10;
            offsetConditionStr.Length = 0;
            sumOffsetlist.Clear();
            sumNeedlist.Clear();
            sumOffsetPoint = 0;
            sumNeedPoint = 0;
            needConditionStr.Length = 0;
            upgradConditionStr.Length = 0;
            float offset = 0;
            if (config.LimitSTR != 0)
            {
                offset = config.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER);
                if (offset > 0)
                {
                    if (offsetConditionStr.Length > 0)
                    {
                        offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset));
                    }
                    else
                    {
                        offsetConditionStr.Append(Language.Get("KnapS136", offset));
                    }
                    if (upgradConditionStr.Length > 0)
                    {
                        upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", config.LimitSTR), offset));
                    }
                    else
                    {
                        upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", config.LimitSTR), offset));
                    }
                    sumOffsetPoint += offset;
                    sumNeedPoint += config.LimitSTR;
                    sumOffsetlist.Add(AttrEnum.POWER, offset);
                }
                sumNeedlist.Add(AttrEnum.POWER, config.LimitSTR);
                if (needConditionStr.Length > 0)
                {
                    needConditionStr.Append("\n" + Language.Get("KnapS136", config.LimitSTR));
                }
                else
                {
                    needConditionStr.Append(Language.Get("KnapS136", config.LimitSTR));
                }
            }
            if (config.LimitPHY != 0)
            {
                offset = config.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY);
                if (offset > 0)
                {
                    if (offsetConditionStr.Length > 0)
                    {
                        offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset));
                    }
                    else
                    {
                        offsetConditionStr.Append(Language.Get("KnapS135", offset));
                    }
                    if (upgradConditionStr.Length > 0)
                    {
                        upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", config.LimitPHY), offset));
                    }
                    else
                    {
                        upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", config.LimitPHY), offset));
                    }
                    sumOffsetPoint += offset;
                    sumNeedPoint += config.LimitPHY;
                    sumOffsetlist.Add(AttrEnum.AGILITY, offset);
                }
                sumNeedlist.Add(AttrEnum.AGILITY, config.LimitPHY);
                if (needConditionStr.Length > 0)
                {
                    needConditionStr.Append("\n" + Language.Get("KnapS135", config.LimitPHY));
                }
                else
                {
                    needConditionStr.Append(Language.Get("KnapS135", config.LimitPHY));
                }
            }
            if (config.LimitPNE != 0)
            {
                offset = config.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY);
                if (offset > 0)
                {
                    if (offsetConditionStr.Length > 0)
                    {
                        offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset));
                    }
                    else
                    {
                        offsetConditionStr.Append(Language.Get("KnapS137", offset));
                    }
                    if (upgradConditionStr.Length > 0)
                    {
                        upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", config.LimitPNE), offset));
                    }
                    else
                    {
                        upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", config.LimitPNE), offset));
                    }
                    sumOffsetPoint += offset;
                    sumOffsetlist.Add(AttrEnum.MENTALITY, offset);
                    sumNeedPoint += config.LimitPNE;
                }
                sumNeedlist.Add(AttrEnum.MENTALITY, config.LimitPNE);
                if (needConditionStr.Length > 0)
                {
                    needConditionStr.Append("\n" + Language.Get("KnapS137", config.LimitPNE));
                }
                else
                {
                    needConditionStr.Append(Language.Get("KnapS137", config.LimitPNE));
                }
            }
            if (offsetConditionStr.Length > 0)
            {
                if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint)
                {
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) =>
                    {
                        if (isOk)
                        {
                            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint))
                            {
                                foreach (var key in sumOffsetlist.Keys)
                                {
                                    PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint;
                                    rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]);
                                }
                            }
                            else
                            {
                                FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint);
                            }
                        }
                    });
                }
                return false;
            }
            return true;
        }
        private StringBuilder curRealmImgStr = new StringBuilder();
        private StringBuilder needRealmImgStr = new StringBuilder();
        private bool CheckPutOnRealm(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            curRealmImgStr.Length = 0;
            needRealmImgStr.Length = 0;
            var _realmLv = config.RealmLimit;
            var needRealmConfig = RealmConfig.Get(_realmLv);
            var realmLevel = config.RealmLimit;
            var needRealmConfig = RealmConfig.Get(realmLevel);
            var curRealmConfig = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
            if (PlayerDatas.Instance.baseData.realmLevel < _realmLv)
            if (PlayerDatas.Instance.baseData.realmLevel < realmLevel)
            {
                needRealmImgStr.AppendFormat("<Img img={0}/>", needRealmConfig.Img);
                if (curRealmConfig != null && PlayerDatas.Instance.baseData.realmLevel > 0)
@@ -322,34 +133,12 @@
            return true;
        }
        private void RefreshFreePoint(PlayerDataRefresh refreshType)
        {
            switch (refreshType)
            {
                case PlayerDataRefresh.STR:
                case PlayerDataRefresh.PNE:
                case PlayerDataRefresh.PHY:
                case PlayerDataRefresh.CON:
                    {
                        ConfirmCancel.ShowPopConfirm(Language.Get("KnapS138"), Language.Get("KnapS139"), () =>
                        {
                            CheckPutOnPlace(selectedItem == null ? 0 : selectedItem.itemId);
                        });
                        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshFreePoint;
                    }
                    break;
            }
        }
        /// <summary>
        /// 检测穿戴的位置对仙器进行特殊处理
        /// </summary>
        private void CheckPutOnPlace(int itemId)
        private bool CheckPutOnPlace(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            if (config == null)
            {
                return;
                return false;
            }
            ItemModel putOnModel1 = null;
@@ -357,20 +146,15 @@
            bool isSameEquip = false;
            switch ((RoleEquipType)config.EquipPlace)
            {
                case RoleEquipType.FairyCan1:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemByIndex(PackType.Equip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    break;
                case RoleEquipType.JadeDynasty_Glove1:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2);
                    putOnModel1 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2);
                    break;
                case RoleEquipType.JadeDynasty_Ring1:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2);
                    putOnModel1 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2);
                    break;
            }
@@ -379,11 +163,12 @@
                if (putOnModel1 != null || putOnModel2 != null)
                {
                    WindowCenter.Instance.Open<FairyWearWin>();
                    return;
                    return false;
                }
            }
            CheckSuitReplaceInfo(config.EquipPlace, selectedItem);
            return true;
        }
        public void CheckSuitReplaceInfo(int equipPlace, ItemModel item)
@@ -470,20 +255,26 @@
                {
                    if (ok)
                    {
                        PutOnEquip(equipPlace, itemIndex, item);
                        PutOnEquip(equipPlace, item.guid);
                    }
                }
                );
            }
            else
            {
                PutOnEquip(equipPlace, itemIndex, item);
                PutOnEquip(equipPlace, item.guid);
            }
        }
        public void PutOnEquip(int equipPlace, int itemIndex, ItemModel oldItem)
        void PutOnEquip(int equipPlace, string guid)
        {
            var clientPlaceInfo = EquipSet.ServerPlaceToClientPlace(equipPlace);
            var oldItem = packModel.GetItemByGuid(equipModel.GetEquip(clientPlaceInfo.x, clientPlaceInfo.y));
            if (oldItem != null)
        {
            EquipAttrShift(equipPlace, oldItem);
            }
            switch ((RoleEquipType)equipPlace)
            {
                case RoleEquipType.JadeDynasty_Cloak:
@@ -498,28 +289,31 @@
                case RoleEquipType.JadeDynasty_Sword2:
                case RoleEquipType.JadeDynasty_Sword3:
                case RoleEquipType.JadeDynasty_Sword4:
                    PutOnJadeDynastyEquip(equipPlace, itemIndex);
                    PutOnJadeDynastyEquip(equipPlace, guid);
                    break;
                default:
                    PutOnNormalEquip(equipPlace, itemIndex);
                    PutOnNormalEquip(equipPlace, guid);
                    break;
            }
            SoundPlayer.Instance.PlayUIAudio(24);
        }
        private void PutOnNormalEquip(int equipPlace, int itemIndex)
        private void PutOnNormalEquip(int equipPlace, string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var putOnEquip = new C0703_tagCEquipItem();
            putOnEquip.RoleEquipType = (byte)equipPlace;
            putOnEquip.ItemIndex = (byte)itemIndex;
            putOnEquip.ItemIndex = (byte)item.itemPlace;
            GameNetSystem.Instance.SendInfo(putOnEquip);
        }
        private void PutOnJadeDynastyEquip(int equipPlace, int itemIndex)
        private void PutOnJadeDynastyEquip(int equipPlace, string guid)
        {
            var item = packModel.GetItemByGuid(guid);
            var equipZhuXianItem = new CA330_tagCMEquipZhuXianItem();
            equipZhuXianItem.EquipIndex = (byte)(equipPlace - 121);
            equipZhuXianItem.ItemIndex = (byte)itemIndex;
            equipZhuXianItem.ItemIndex = (byte)item.itemPlace;
            GameNetSystem.Instance.SendInfo(equipZhuXianItem);
        }
@@ -533,10 +327,10 @@
            switch (packType)
            {
                case PackType.JadeDynastyItem:
                    putOnModel = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, equipPlace);
                    putOnModel = packModel.GetItemByIndex(PackType.JadeDynastyEquip, equipPlace);
                    break;
                default:
                    putOnModel = playerPack.GetItemByIndex(PackType.Equip, equipPlace);
                    putOnModel = packModel.GetItemByIndex(PackType.Equip, equipPlace);
                    break;
            }
@@ -612,7 +406,7 @@
        public void PutOffEquip(string guid)
        {
            var item = playerPack.GetItemByGuid(guid);
            var item = packModel.GetItemByGuid(guid);
            if (item == null)
            {
                return;
@@ -640,7 +434,7 @@
                case RoleEquipType.JadeDynasty_Sword2:
                case RoleEquipType.JadeDynasty_Sword3:
                case RoleEquipType.JadeDynasty_Sword4:
                    remainGrid = playerPack.GetEmptyGridCount(PackType.JadeDynastyItem);
                    remainGrid = packModel.GetEmptyGridCount(PackType.JadeDynastyItem);
                    if (remainGrid < 1)
                    {
                        SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_998371");
@@ -652,8 +446,8 @@
                    }
                    break;
                default:
                    singlePack = playerPack.GetSinglePack(PackType.Item);
                    remainGrid = playerPack.GetEmptyGridCount(PackType.Item);
                    singlePack = packModel.GetSinglePack(PackType.Item);
                    remainGrid = packModel.GetEmptyGridCount(PackType.Item);
                    if (remainGrid < 1)
                    {
                        SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_998371");
@@ -698,7 +492,7 @@
        public void PutInWareHouse(string guid)
        {
            var itemModel = playerPack.GetItemByGuid(guid);
            var itemModel = packModel.GetItemByGuid(guid);
            if (itemModel == null)
            {
                return;
@@ -713,7 +507,7 @@
        public void TakeOutFromWarehouse(ItemOperateType btnType, string guid)
        {
            var itemModel = playerPack.GetItemByGuid(guid);
            var itemModel = packModel.GetItemByGuid(guid);
            if (itemModel == null)
            {
                return;
@@ -732,7 +526,7 @@
        public ItemModel useItemModel { get; set; }
        public void GotoUseItem(int itemIndex)
        {
            var singlePack = playerPack.GetSinglePack(PackType.Item);
            var singlePack = packModel.GetSinglePack(PackType.Item);
            if (singlePack == null)
            {
                return;
@@ -760,7 +554,7 @@
                case 951:
                    int startLockIndex = singlePack.unlockedGridCount - GeneralDefine.initBagGridCount;
                    int chooseGridCnt = singlePack.unlockedGridCount + GetExtendGridCnt(startLockIndex);
                    playerPack.UnLockPackGrid(chooseGridCnt, PackType.Item);
                    packModel.UnLockPackGrid(chooseGridCnt, PackType.Item);
                    return;
                case 1506:
                    var crossOneVsOneModel = ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>();
@@ -770,7 +564,7 @@
                    }
                    break;
            }
            if (playerPack.CheckIsDrugById(useItemModel.itemId))
            if (packModel.CheckIsDrugById(useItemModel.itemId))
            {
                if (CheckItemUselimit(useItemModel.itemId))
                {
@@ -779,7 +573,7 @@
                return;
            }
            int dungeonID = playerPack.GetDungeonIDByDrugID(useItemModel.itemId);
            int dungeonID = packModel.GetDungeonIDByDrugID(useItemModel.itemId);
            if (dungeonID != 0)
            {
                MapConfig tagMapModel = MapConfig.Get(PlayerDatas.Instance.baseData.MapID);
@@ -837,7 +631,7 @@
        private int GetExtendGridCnt(int startLockIndex, int needTool = 0, int extendCnt = 0)
        {
            FuncConfigConfig _tagFuncModel = FuncConfigConfig.Get("OpenBagItem");
            int haveCount = playerPack.GetItemCountByID(PackType.Item, useItemModel.itemId);
            int haveCount = packModel.GetItemCountByID(PackType.Item, useItemModel.itemId);
            startLockIndex += 1;
            Equation.Instance.Clear();
            Equation.Instance.AddKeyValue("index", startLockIndex);
@@ -853,7 +647,7 @@
                {
                    extendCnt = 1;
                }
                int remianLock = GeneralDefine.maxBagGridCount - playerPack.GetSinglePack(PackType.Item).unlockedGridCount;
                int remianLock = GeneralDefine.maxBagGridCount - packModel.GetSinglePack(PackType.Item).unlockedGridCount;
                if (extendCnt > remianLock)
                {
                    extendCnt = remianLock;
@@ -897,7 +691,7 @@
            if (itemModel.config.Type == 59)
            {
                playerPack.GotoWashAttributePoint(itemModel.guid);
                packModel.GotoWashAttributePoint(itemModel.guid);
                WindowCenter.Instance.Open<WashAttrPointWin>();
                return true;
            }
@@ -953,7 +747,7 @@
            }
            ulong maxValue = 0;
            playerPack.IsReachUseLimit(itemModel.guid, out maxValue);
            packModel.IsReachUseLimit(itemModel.guid, out maxValue);
            if (itemModel.config.BatchUse != 0 && maxValue > 1)
            {
                BatchUseModel.Instance.SetBatchModel(itemModel.guid);
@@ -1041,7 +835,7 @@
        public void UseItem(int index, int useCnt = 1, int extra = 0)
        {
            var itemModel = playerPack.GetItemByIndex(PackType.Item, index);
            var itemModel = packModel.GetItemByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
@@ -1070,21 +864,21 @@
        public bool CanUseItem(int index, int useCnt, out int error)
        {
            var itemModel = playerPack.GetItemByIndex(PackType.Item, index);
            var itemModel = packModel.GetItemByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                error = 999;
                return false;
            }
            var usedCountToday = playerPack.GetItemUsedTimesToday(itemModel.itemId);
            var usedCountToday = packModel.GetItemUsedTimesToday(itemModel.itemId);
            if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= usedCountToday)
            {
                error = 1;
                return false;
            }
            var usedCountTotal = playerPack.GetItemTotalUsedTimes(itemModel.itemId);
            var usedCountTotal = packModel.GetItemTotalUsedTimes(itemModel.itemId);
            var fruitConfig = AttrFruitConfig.Get(itemModel.itemId);
            if (fruitConfig != null && (usedCountTotal >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt))
            {
@@ -1098,7 +892,7 @@
        public void UseItemMainServer(int index, int useCnt, int extra)
        {
            var itemModel = playerPack.GetItemByIndex(PackType.Item, index);
            var itemModel = packModel.GetItemByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
@@ -1113,7 +907,7 @@
        public void UseItemCrossServer(int index)
        {
            var itemModel = playerPack.GetItemByIndex(PackType.Item, index);
            var itemModel = packModel.GetItemByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
@@ -1139,15 +933,15 @@
                return;
            }
            var itemModel = playerPack.GetItemByGuid(guid);
            var itemModel = packModel.GetItemByGuid(guid);
            if (itemModel == null)
            {
                return;
            }
            var packType = GeneralDefine.GetPackTypeByItemType(itemModel.config.Type);
            var singlePack = playerPack.GetSinglePack(packType);
            if (playerPack.GetEmptyGridCount(packType) < 1)
            var singlePack = packModel.GetSinglePack(packType);
            if (packModel.GetEmptyGridCount(packType) < 1)
            {
                SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_676165", packType);
            }
@@ -1166,7 +960,7 @@
        #region 上架
        public void PutAwayItem(string guid)
        {
            var itemModel = playerPack.GetItemByGuid(guid);
            var itemModel = packModel.GetItemByGuid(guid);
            if (itemModel == null || itemModel.packType != PackType.Item)
            {
                return;
@@ -1181,7 +975,7 @@
        #region 镶嵌
        public void GotoInlayItem(string guid)
        {
            var model = playerPack.GetItemByGuid(guid);
            var model = packModel.GetItemByGuid(guid);
            var packType = GeneralDefine.GetPackTypeByItemType(model.config.Type);
            switch (packType)
            {
@@ -1210,10 +1004,10 @@
                bool isOverdue = ItemLogicUtility.Instance.IsOverdue(attrData.guid, attrData.itemConfig.ID, attrData.useDataDict);
                bool isLimit = Math.Floor((double)attrData.itemConfig.JobLimit / 100) == PlayerDatas.Instance.baseData.Job
                    || attrData.itemConfig.JobLimit == 0 ? true : false;
                var putModel = playerPack.GetItemByIndex(PackType.Equip, attrData.itemConfig.EquipPlace);
                var putModel = packModel.GetItemByIndex(PackType.Equip, attrData.itemConfig.EquipPlace);
                if (attrData.itemConfig.EquipPlace == (int)RoleEquipType.FairyCan1)
                {
                    var fairy2Model = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    var fairy2Model = packModel.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    if (fairy2Model == null || putModel == null)
                    {
                        putModel = null;
@@ -1319,7 +1113,7 @@
                }
            }
            int offsetGrid = needGridCnt - playerPack.GetEmptyGridCount(PackType.Item);
            int offsetGrid = needGridCnt - packModel.GetEmptyGridCount(PackType.Item);
            if (offsetGrid > 0)
            {
                SysNotifyMgr.Instance.ShowTip("BagFull102", attrData.itemConfig.ItemName, offsetGrid);
System/KnapSack/Logic/ItemTipsModel.cs
@@ -886,7 +886,7 @@
                    case ItemWinType.equipWin:
                    case ItemWinType.wingsWin:
                    case ItemWinType.guardWin:
                        attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); });
                        attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(attrData.guid); });
                        break;
                }
@@ -1068,7 +1068,7 @@
                    switch (attrData.winType)
                    {
                        case ItemWinType.equipWin:
                            attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); });
                            attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemOperateUtility.Instance.PutOnItem(attrData.guid); });
                            break;
                    }
                }
System/KnapSack/Logic/PackModel.cs
@@ -863,7 +863,7 @@
            }
        }
        public List<ItemModel> GetItems(SinglePack.FilterParams param)
        public List<ItemModel> GetItems( PackType packType, SinglePack.FilterParams param)
        {
            if (playerPackDict.ContainsKey(PackType.Item))
            {
System/KnapSack/New/FairyWearWin.cs
@@ -30,7 +30,7 @@
        #endregion
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        ItemModel curItemModel;
        #region Built-in
@@ -54,27 +54,23 @@
        protected override void OnPreOpen()
        {
            curItemModel = ItemOperateUtility.Instance.selectedItem;
            curItemModel = packModel.GetItemByGuid(ItemOperateUtility.Instance.operateItemGuid);
            if (curItemModel != null)
            {
                wear01Img.SetSprite(StringUtility.Contact("EquipPlace_", curItemModel.config.EquipPlace));
                wear02Img.SetSprite(StringUtility.Contact("EquipPlace_", curItemModel.config.EquipPlace));
                switch (curItemModel.packType)
                {
                    case PackType.Item:
                        m_ItemModel01 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan1);
                        m_ItemModel02 = playerPack.GetItemByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                        break;
                    case PackType.JadeDynastyItem:
                        if (curItemModel.config.EquipPlace == (int)RoleEquipType.JadeDynasty_Glove1)
                        {
                            m_ItemModel01 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove1);
                            m_ItemModel02 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2);
                            m_ItemModel01 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove1);
                            m_ItemModel02 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2);
                        }
                        else if (curItemModel.config.EquipPlace == (int)RoleEquipType.JadeDynasty_Ring1)
                        {
                            m_ItemModel01 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring1);
                            m_ItemModel02 = playerPack.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2);
                            m_ItemModel01 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring1);
                            m_ItemModel02 = packModel.GetItemByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2);
                        }
                        break;
                }
@@ -158,9 +154,6 @@
            switch ((RoleEquipType)curItemModel.config.EquipPlace)
            {
                case RoleEquipType.FairyCan1:
                    ItemOperateUtility.Instance.CheckSuitReplaceInfo((int)RoleEquipType.FairyCan2, curItemModel);
                    break;
                case RoleEquipType.JadeDynasty_Glove1:
                    ItemOperateUtility.Instance.CheckSuitReplaceInfo((int)RoleEquipType.JadeDynasty_Glove2, curItemModel);
                    break;
System/KnapSack/RealmBetterEquipBehaviour.cs
@@ -57,7 +57,7 @@
        private void PutOnBetterEquip()
        {
            ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.currentEquipGuid);
            ItemOperateUtility.Instance.PutOnItem(model.currentEquipGuid);
            model.ReportConfirmBetterEquip(model.currentEquipGuid);
        }
System/MainInterfacePanel/DungeonGuardCheckBehaviour.cs
@@ -26,7 +26,7 @@
        {
            if (model.fairyLandItemModel != null)
            {
                ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putOn, model.fairyLandItemModel.guid);
                ItemOperateUtility.Instance.PutOnItem(model.fairyLandItemModel.guid);
                OnClose();
            }
        }
System/MainInterfacePanel/LowSettingTip.cs
@@ -7,9 +7,11 @@
using UnityEngine.UI;
using System;
//底层按钮面板控制
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class LowSettingTip:MonoBehaviour {
    public class LowSettingTip : MonoBehaviour
    {
        [SerializeField] Button _Role1Btn;//角色按钮
        [SerializeField] Button _SkillBtn;//技能按钮
        [SerializeField] Button _Pet1Btn;//宠物按钮
@@ -43,7 +45,7 @@
            m_BagualuBtn.AddListener(OnClickBagualuBtn);
            m_TreasureSoulBtn.AddListener(OnClickTreasureSoul);
            m_GodBeastBtn.AddListener(GodBeastBtn);
            m_JadeDynastyBtn.AddListener(JadeDynastyButton);
            m_JadeDynastyBtn.AddListener(OpenEquip);
        }
        public void UnInit()
@@ -109,8 +111,6 @@
        }
        private void GodBeastBtn()
        {
            //SysNotifyMgr.Instance.ShowTip("FuncNextVersion");//信息提示
            //return;
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<DogzWin>();
        }
@@ -118,32 +118,25 @@
        void Strengthen1Button()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<EquipReinforceWin>();
            //DesignDebug.Log("强化按钮");
        }
        void JadeDynastyButton()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<JadeDynastyKnapSackWin>();
            //DesignDebug.Log("诛仙装备");
            WindowCenter.Instance.Open<EquipFrameWin>(false, 0);
        }
        void OpenEquip()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            var equipModel = ModelCenter.Instance.GetModel<EquipModel>();
            equipModel.selectedLevel.value = equipModel.GetLastestUnLockEquipSet();
            WindowCenter.Instance.Open<RealmEquipWin>();
        }
        void Asuram1Button()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            ModelCenter.Instance.GetModel<FairyModel>().GotoFairyWin();
            //WindowCenter.Instance.Open<UnionPanel>(false, PlayerDatas.Instance.fairyData.HasFairy ? 2 : 3);
            //DesignDebug.Log("仙盟按钮");
        }
        void Synthesis1Button()
        {
            //SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
            //DesignDebug.Log("合成按钮");
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<ComposeWin>();
        }
@@ -152,24 +145,18 @@
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<RunePanel>();
            //DesignDebug.Log("符印按钮");
        }
        void Pet1Button()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<PetWin>();
            //DesignDebug.Log("宠物按钮");
        }
        void SetUp1Btn()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<SettingUpWin>();
            //SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
            //DesignDebug.Log("设置按钮");
        }
System/Strengthening/GodBeastAttributes.cs
@@ -252,7 +252,7 @@
                {
                    for (int i = 0; i < itemModel.Count; i++)
                    {
                        if (itemModel[i].equipPlace == GodBeastPart)
                        if (itemModel[i].config.EquipPlace == GodBeastPart)
                        {
                            ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//默认显示不上锁
                            m_ItemCell.Init(ItemModel);
@@ -522,7 +522,7 @@
            {
                for (int i = 0; i < itemModel.Count; i++)
                {
                    if (itemModel[i].equipPlace == GodBeastPart)
                    if (itemModel[i].config.EquipPlace == GodBeastPart)
                    {
                        ItemModel = itemModel[i];
                    }
System/Strengthening/GodBeastEntry.cs
@@ -45,7 +45,7 @@
            {
                for (int i = 0; i < itemModel.Count; i++)
                {
                    if (itemModel[i].equipPlace == godBeastPart)
                    if (itemModel[i].config.EquipPlace == godBeastPart)
                    {
                        ItemCellModel ItemModel = new ItemCellModel(itemModel[i].itemId, true, 0, 0);//不显示绑定
                        if (godBeastModel.GodBeastRedPointDic.ContainsKey(itemModel[i].itemPlace))
System/Strengthening/GodBeastModel.cs
@@ -132,7 +132,7 @@
                int lv = IudetDogzEquipPlus[0];
                if (lv > 0)
                {
                    var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.equipPlace, lv);
                    var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.config.EquipPlace, lv);
                    int[] AttType = DogzEquipConfig.attType;
                    int[] AttValue = DogzEquipConfig.attValue;
                    for (int j = 0; j < AttType.Length; j++)
@@ -164,7 +164,7 @@
        var IudetDogzEquipPlus = item.GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus);
        if (IudetDogzEquipPlus != null && IudetDogzEquipPlus[0] > 0)
        {
            var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.equipPlace, IudetDogzEquipPlus[0]);
            var DogzEquipConfig = DogzEquipPlusConfig.GetEquipplaceAndLevel(item.config.EquipPlace, IudetDogzEquipPlus[0]);
            int[] AttType = DogzEquipConfig.attType;
            int[] AttValue = DogzEquipConfig.attValue;
            for (int j = 0; j < AttType.Length; j++)
System/Strengthening/GodBeastReinforcementWin.cs
@@ -169,7 +169,7 @@
                    {
                        GodBeastClass godBeastClass = new GodBeastClass();
                        godBeastClass.GodBeastNumber = key;
                        godBeastClass.GodBeastPart = itemModel[i].equipPlace;
                        godBeastClass.GodBeastPart = itemModel[i].config.EquipPlace;
                        godBeastClass.GodBeastQuality = itemModel[i].config.ItemColor;
                        godBeastClass.GodBeastStar = itemModel[i].config.StarLevel;
                        godBeastClass.EquipScore = itemModel[i].equipScore;
@@ -186,7 +186,7 @@
                            godBeastClass.GodBeastLv = IudetDogzEquipPlus[0];
                            godBeastClass.GodBeasProficiency = IudetDogzEquipPlus[1];
                        }
                        godBeastClass.LocationMarker = itemModel[i].equipPlace * 100 + key;
                        godBeastClass.LocationMarker = itemModel[i].config.EquipPlace * 100 + key;
                        GodBeastList.Add(godBeastClass);
                    }
                }
System/Strengthening/GodBeastSlidingList.cs
@@ -212,7 +212,7 @@
                godBeastBagClass.Color = itemModel.config.ItemColor;
                godBeastBagClass.Star = itemModel.config.StarLevel;
                godBeastBagClass.EquipScore = itemModel.equipScore;
                godBeastBagClass.Part = itemModel.equipPlace;
                godBeastBagClass.Part = itemModel.config.EquipPlace;
                godBeastBagClass.Count = itemModel.count;
                var IudetDogzEquipPlus = itemModel.GetUseDataModel((int)ItemUseDataKey.dogzEquipPlus);// 神兽装备强化信息列表 [强化等级, 强化熟练度]
                if (IudetDogzEquipPlus == null)
@@ -418,7 +418,7 @@
                    if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index))
                    {
                        GodBeastChildNodes.ChoosenImg.SetActive(true);
                        if (itemModel.equipPlace <= 0 && itemModel.count > 1)
                        if (itemModel.config.EquipPlace <= 0 && itemModel.count > 1)
                        {
                            GodBeastChildNodes.NumberNow.gameObject.SetActive(true);
                            GodBeastChildNodes.NumberNow.text = godBeastModel.Absorption_Dic[godBeastBagClass.Index].ToString() + "/" + itemModel.count;
@@ -426,7 +426,7 @@
                    }
                    else
                    {
                        if (itemModel.equipPlace <= 0 && itemModel.count > 1)
                        if (itemModel.config.EquipPlace <= 0 && itemModel.count > 1)
                        {
                            GodBeastChildNodes.NumberNow.gameObject.SetActive(true);
                            GodBeastChildNodes.NumberNow.text = itemModel.count.ToString();
@@ -435,7 +435,7 @@
                    GodBeastChildNodes.GetGodBeastIndex(godBeastBagClass.Index);
                    GodBeastChildNodes.ButtonDown.AddListener(() =>
                    {
                        if (itemModel.equipPlace > 0)//选中的物品为装备
                        if (itemModel.config.EquipPlace > 0)//选中的物品为装备
                        {
                            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index))
                            {
System/Strengthening/WingsBouncedWin.cs
@@ -109,7 +109,7 @@
            _WingButton.WingBG.AddListener(() =>
            {
                ItemOperateUtility.Instance.PutOnItem(ItemOperateType.putIn, model.guid);
                ItemOperateUtility.Instance.PutOnItem(model.guid);
                //string strJob = tagItem.JobLimit.ToString();
                //if (_ReincarnationLv >= int.Parse(strJob.Substring(strJob.Length - 1, 1)))
Utility/ConfigInitiator.cs
@@ -53,8 +53,8 @@
    {
        PriorTasks();
        NormalTasks();
        minWorkingTask = 1; //GetMinWorkingTaskCount();
        maxWorkingTask = 1; //GetMaxWorkingTaskCount();
        minWorkingTask = GetMinWorkingTaskCount();
        maxWorkingTask = GetMaxWorkingTaskCount();
        completeCount = 0;
        priorTaskCount = priorTasks.Count;
Utility/VesselExtension.cs
@@ -10,4 +10,9 @@
        return vessel == null || vessel.Count == 0;
    }
    public static bool IsNullOrEmpty<T>(this T[] vessel)
    {
        return vessel == null || vessel.Length == 0;
    }
}