少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-20 3de702a97c97baafb6a0abafbc1abb74e1c3352b
3335 物品管理相关功能重构。
7个文件已修改
289 ■■■■■ 已修改文件
System/KnapSack/ItemUseBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemLogicUtility.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/BagWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/PreciousItemGetBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SettingEffectMgr.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/ItemUseBehaviour.cs
@@ -63,7 +63,7 @@
                model.ReportConfirmUseItem(model.currentShowItem);
                if (itemModel != null && itemModel.packType == PackType.Item)
                {
                    ItemLogicUtility.Instance.UseItem(ItemOperateType.makeUse, itemModel.itemPlace);
                    ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
                }
            }
        }
System/KnapSack/Logic/ItemLogicUtility.cs
@@ -50,7 +50,7 @@
            {
                if (putOnLimits[0] == 1)
                {
                    CheckPutOnPlace();
                    CheckPutOnPlace(itemId);
                }
                else
                {
@@ -69,7 +69,7 @@
            int[] uselimits = config.UseCondiType;
            if (uselimits == null || uselimits.Length < 1)
            {
                CheckPutOnPlace();
                CheckPutOnPlace(itemId);
                return true;
            }
@@ -98,7 +98,7 @@
            if (wearable)
            {
                CheckPutOnPlace();
                CheckPutOnPlace(itemId);
            }
            return wearable;
@@ -334,8 +334,7 @@
                    {
                        ConfirmCancel.ShowPopConfirm(Language.Get("KnapS138"), Language.Get("KnapS139"), () =>
                        {
                            CheckPutOnPlace();
                            CheckPutOnPlace(selectedItem == null ? 0 : selectedItem.itemId);
                        });
                        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshFreePoint;
                    }
@@ -346,26 +345,32 @@
        /// <summary>
        /// 检测穿戴的位置对仙器进行特殊处理
        /// </summary>
        private void CheckPutOnPlace()
        private void CheckPutOnPlace(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            if (config == null)
            {
                return;
            }
            ItemModel putOnModel1 = null;
            ItemModel putOnModel2 = null;
            bool isSameEquip = false;
            switch ((RoleEquipType)sendItemConfig.EquipPlace)
            switch ((RoleEquipType)config.EquipPlace)
            {
                case RoleEquipType.FairyCan:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.Equip, sendItemConfig.EquipPlace);
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.Equip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemModelByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    break;
                case RoleEquipType.JadeDynasty_Glove1:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, sendItemConfig.EquipPlace);
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Glove2);
                    break;
                case RoleEquipType.JadeDynasty_Ring1:
                    isSameEquip = true;
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, sendItemConfig.EquipPlace);
                    putOnModel1 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, config.EquipPlace);
                    putOnModel2 = playerPack.GetItemModelByIndex(PackType.JadeDynastyEquip, (int)RoleEquipType.JadeDynasty_Ring2);
                    break;
            }
@@ -379,7 +384,7 @@
                }
            }
            CheckSuitReplaceInfo(sendItemConfig.EquipPlace, selectedItem);
            CheckSuitReplaceInfo(config.EquipPlace, selectedItem);
        }
        public void CheckSuitReplaceInfo(int equipPlace, ItemModel item)
@@ -536,10 +541,13 @@
                    break;
            }
            if (putOnModel == null) return;
            if (putOnModel == null)
            {
                return;
            }
            Dictionary<int, EquipmentInitialization> equipStrengthDic = strengthModel._EqInfo;
            bool isPrompt = strengthModel.TheRatingPrompt(item.itemId);
            var equipStrengthDic = strengthModel._EqInfo;
            var isPrompt = strengthModel.TheRatingPrompt(item.itemId);
            if (isPrompt && !PlayerPrefs.HasKey(PlayerPackModel.StrengthAttrShift_RecordKey))
            {
                LocalSave.SetBool(PlayerPackModel.StrengthAttrShift_RecordKey, true);
@@ -567,13 +575,14 @@
                    stones = existGem ? equipData.items : null;
                    break;
            }
            int[] gemOpenLvs = packType == PackType.JadeDynastyItem ? itemTipsModel.jadeDynastyGemOpenLvs : itemTipsModel.gemOpenLvs;
            var gemOpenLvs = packType == PackType.JadeDynastyItem ? itemTipsModel.jadeDynastyGemOpenLvs : itemTipsModel.gemOpenLvs;
            if (stones != null)
            {
                int i = 0;
                for (i = 0; i < stones.Length; i++)
                {
                    if (stones[i] != 0 && sendItemConfig.LV >= gemOpenLvs[0])
                    if (stones[i] != 0 && item.config.LV >= gemOpenLvs[0])
                    {
                        SysNotifyMgr.Instance.ShowTip("SwitchEquip_Gem");
                        break;
@@ -581,13 +590,12 @@
                }
            }
            if (suitModel.IsPerfectGetSuitLv(sendItemConfig.ID, equipPlace))
            if (suitModel.IsPerfectGetSuitLv(item.itemId, equipPlace))
            {
                SysNotifyMgr.Instance.ShowTip("SwitchEquip_SuitPanel");
            }
            WashProCount washPro = equipWashModel.GetWashEquipInfo(equipPlace);
            var washPro = equipWashModel.GetWashEquipInfo(equipPlace);
            if (washPro != null)
            {
                int i = 0;
@@ -605,7 +613,7 @@
        #endregion
        #region 发送脱下装备的请求
        public void PutOffEquip(ItemOperateType btnType, string guid)
        public void PutOffEquip(string guid)
        {
            var item = playerPack.GetItemModelByGUID(guid);
            if (item == null)
@@ -684,7 +692,7 @@
        #endregion
        #region 发送放入仓库请求
        public void PutInWareHouse(ItemOperateType btnType, string guid)
        public void PutInWareHouse(string guid)
        {
            var itemModel = playerPack.GetItemModelByGUID(guid);
            if (itemModel == null)
@@ -720,7 +728,7 @@
        #region 发送使用物品请求
        public ItemModel useItemModel { get; set; }
        public void UseItem(ItemOperateType btnType, int itemIndex)
        public void UseItem(int itemIndex)
        {
            var singlePack = playerPack.GetSinglePackModel(PackType.Item);
            if (singlePack == null)
@@ -1093,10 +1101,11 @@
        #endregion
        #region 发送拆分请求
        public void OnClickSplitBtn(ItemOperateType btnType, string guid)
        public void OnClickSplitBtn(string guid)
        {
            WindowCenter.Instance.Open<SplitWin>();
        }
        public void SplitItem(string guid, int splitCount)
        {
            if (string.IsNullOrEmpty(guid))
@@ -1129,7 +1138,7 @@
        #endregion
        #region 发送上架请求 
        public void PutAwayItem(ItemOperateType btnType, string guid)
        public void PutAwayItem(string guid)
        {
            var itemModel = playerPack.GetItemModelByGUID(guid);
            if (itemModel == null || itemModel.packType != PackType.Item)
@@ -1144,7 +1153,7 @@
        #endregion
        #region 点击镶嵌按钮 
        public void GotoInlayItem(ItemOperateType btnType, string guid)
        public void GotoInlayItem(string guid)
        {
            var model = playerPack.GetItemModelByGUID(guid);
            var packType = GeneralDefine.GetPackTypeByItemType(model.config.Type);
@@ -1161,24 +1170,24 @@
        #endregion
        #region 点击合成按钮 
        public void GotoComposeItem(ItemOperateType btnType, int jumpId)
        public void GotoComposeItem(int jumpId)
        {
            WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)jumpId);
        }
        #endregion
        #region 发送出售请求 
        public void SellItem(ItemOperateType btnType, ItemAttrData attrData)
        public void SellItem( ItemAttrData attrData)
        {
            if (attrData.itemConfig.EquipPlace > 0 && attrData.itemConfig.EquipPlace <= (int)RoleEquipType.SpiritAnimal)
            {
                bool isOverdue = modelInterface.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;
                ItemModel putModel = playerPack.GetItemModelByIndex(PackType.Equip, attrData.itemConfig.EquipPlace);
                var putModel = playerPack.GetItemModelByIndex(PackType.Equip, attrData.itemConfig.EquipPlace);
                if (attrData.itemConfig.EquipPlace == (int)RoleEquipType.FairyCan)
                {
                    ItemModel fairy2Model = playerPack.GetItemModelByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    var fairy2Model = playerPack.GetItemModelByIndex(PackType.Equip, (int)RoleEquipType.FairyCan2);
                    if (fairy2Model == null || putModel == null)
                    {
                        putModel = null;
@@ -1255,9 +1264,9 @@
        #endregion
        #region 发送拆解请求
        public void DismantleItem(ItemOperateType btnType, ItemAttrData attrData)
        public void DismantleItem(ItemAttrData attrData)
        {
            List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound);
            var dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound);
            int needGridCnt = 0;
            int fixedMatcnt = 0;
            int unfixedMatId = 0;
@@ -1315,44 +1324,20 @@
        #endregion
        #region 发送续费请求 
        public void RenewalItem(ItemOperateType btnType, string guid)
        public void RenewalItem(string guid)
        {
            GuardOverdueWin.guid = guid;
            WindowCenter.Instance.Open<GuardOverdueWin>();
        }
        #endregion
        #region 解锁背包格子数据
        public int OpenCount
        {
            get; private set;
        }
        public PackType packType
        {
            get; private set;
        }
        public int Index
        {
            get; private set;
        }
        public void SetExtendGirdModel(int openCount = 0, int index = -1, PackType type = PackType.Deleted)
        {
            this.OpenCount = openCount;
            this.packType = type;
            this.Index = index;
        }
        #endregion
        #region 获取仓库数据
        public void SendOpenWarehouse()
        public void RequestWarehouseData()
        {
            var openWarehouse = new CA204_tagCMOpenLongWarehouse();
            GameNetSystem.Instance.SendInfo(openWarehouse);
        }
        #endregion
    }
}
System/KnapSack/Logic/ItemTipsModel.cs
@@ -60,20 +60,17 @@
        public int[] PeerlessEquipIds { get; private set; } //绝世装备列表
    
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack
        {
        PlayerPackModel playerPack {
            get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
        }
        StoreModel _storeModel;
        StoreModel m_storeModel
        {
        StoreModel m_storeModel {
            get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); }
        }
        PackModelInterface _modelInterface;
        PackModelInterface modelInterface
        {
        PackModelInterface modelInterface {
            get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
        }
        FashionDressModel fashionDress { get { return ModelCenter.Instance.GetModel<FashionDressModel>(); } }
@@ -1052,7 +1049,7 @@
                    {
                        if (attrData.itemConfig.CanSell == 1)
                        {
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem( attrData); });
                        }
                    }
                    break;
@@ -1062,7 +1059,7 @@
                    {
                        if (attrData.itemConfig.CanSell == 1)
                        {
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
                        }
                    }
                    break;
@@ -1072,7 +1069,7 @@
                    {
                        if (attrData.itemConfig.CanSell == 1)
                        {
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
                        }
                    }
                    break;
@@ -1082,14 +1079,14 @@
                    {
                        if (attrData.itemConfig.CanSell == 1)
                        {
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                            attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
                        }
                    }
                    break;
                default:
                    if (attrData.itemConfig.CanSell == 1)
                    {
                        attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                        attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
                    }
                    break;
            }
@@ -1097,31 +1094,32 @@
            List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound);
            if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.dismantle, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.DismantleItem(ItemOperateType.dismantle, attrData); });
                attrData.SetTipsFuncBtn(ItemOperateType.dismantle, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.DismantleItem( attrData); });
            }
            if (!isOverdue)
            {
                if(attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.compose, (ItemWinBtnType, ItemAttrData) => {
                    attrData.SetTipsFuncBtn(ItemOperateType.compose, (ItemWinBtnType, ItemAttrData) =>
                    {
                        int jumpId = 0;
                        bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId,out jumpId);
                        if (isUnlock)
                        {
                            ItemLogicUtility.Instance.GotoComposeItem(ItemOperateType.compose,jumpId);
                            ItemLogicUtility.Instance.GotoComposeItem(jumpId);
                        }
                    });
                }
                if (attrData.itemConfig.Type == 25 && attrData.itemConfig.Effect1 == 225)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(ItemOperateType.inlay, attrData.guid); });
                    attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(attrData.guid); });
                }
                if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.putAway, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutAwayItem(ItemOperateType.putAway, attrData.guid); });
                    attrData.SetTipsFuncBtn(ItemOperateType.putAway, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutAwayItem(attrData.guid); });
                }
                if((ItemType)attrData.itemConfig.Type == ItemType.WingsMat)
@@ -1137,7 +1135,7 @@
            if (attrData.count > 1)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.split, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.OnClickSplitBtn(ItemOperateType.split, attrData.guid); });
                attrData.SetTipsFuncBtn(ItemOperateType.split, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.OnClickSplitBtn(attrData.guid); });
            }
            if(!isOverdue)
@@ -1153,7 +1151,7 @@
                if (attrData.itemConfig.UseTag == 1)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.UseItem(ItemOperateType.makeUse, attrData.index); });
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.UseItem(attrData.index); });
                }
            }
@@ -1163,7 +1161,7 @@
                {
                    if(isOverdue)
                    {
                        attrData.SetTipsFuncBtn(ItemOperateType.renewal, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.RenewalItem(ItemOperateType.renewal, attrData.guid); });
                        attrData.SetTipsFuncBtn(ItemOperateType.renewal, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.RenewalItem(attrData.guid); });
                    }
                }
            }
@@ -1198,13 +1196,14 @@
            if (attrData.itemConfig.CanSell == 1)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
            }
            switch (attrData.winType)
            {
                case ItemWinType.equipWin:
                    attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => {
                    attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) =>
                    {
                        if(dogzModel.CheckIsPutOn(attrData.itemId))
                        {
                            List<int> indexlist = new List<int>();
@@ -1221,13 +1220,15 @@
        {
            if (attrData == null) return;
            attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) => {
            attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
            {
               dogzModel.CheckPutOff(dogzModel.GetDogzEquipPlaceByIndex(attrData.index));
            });
            if(dogzModel.TryGetAssistDogzState(dogzModel.presentSelectDogz))
            {
                attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) => {
                attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) =>
                {
                    dogzModel.OpenDogzFuncEvent(1, attrData.index);
                });
            }
@@ -1242,8 +1243,9 @@
        {
            if (attrData == null) return;
            attrData.SetTipsFuncBtn(ItemOperateType.putIn, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutInWareHouse(ItemOperateType.putIn, attrData.guid); });
            attrData.SetTipsFuncBtn(ItemOperateType.putIn,
                (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutInWareHouse(attrData.guid); }
                );
        }
        /// <summary>
@@ -1252,24 +1254,30 @@
        /// <param name="attrData"></param>
        public void SetPutOnTipsBtn(ItemAttrData attrData)
        {
            if (attrData == null) return;
            if (attrData == null)
            {
                return;
            }
            RoleEquipType equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
            if(equipType == RoleEquipType.Wing)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.refine, (ItemWinBtnType, ItemAttrData) => {
                attrData.SetTipsFuncBtn(ItemOperateType.refine, (ItemWinBtnType, ItemAttrData) =>
                {
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc3);
                });
            }
            else if(equipType != RoleEquipType.SpiritAnimal)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) => {
                attrData.SetTipsFuncBtn(ItemOperateType.strength, (ItemWinBtnType, ItemAttrData) =>
                {
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc1);
                });
            }
            attrData.SetTipsFuncBtn(ItemOperateType.putOff,(ItemWinBtnType,ItemAttrData) => {
                ItemLogicUtility.Instance.PutOffEquip(ItemOperateType.putOff, attrData.guid);
            attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
            {
                ItemLogicUtility.Instance.PutOffEquip(attrData.guid);
            });
            for (int i = 0; i < tryPutOnEquipIds.Length; i++)
@@ -1291,13 +1299,8 @@
            bool isOverdue = modelInterface.IsOverdue(attrData.guid, attrData.itemId, attrData.useDataDict);
            if (attrData.itemConfig.CanSell == 1)
            {
                attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(ItemOperateType.sell, attrData); });
                attrData.SetTipsFuncBtn(ItemOperateType.sell, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.SellItem(attrData); });
            }
            //List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
            //if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
            //{
            //    attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
            //}
            if (!isOverdue)
            {
@@ -1309,26 +1312,15 @@
                        bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId, out jumpId);
                        if (isUnlock)
                        {
                            ItemLogicUtility.Instance.GotoComposeItem(ItemOperateType.compose, jumpId);
                            ItemLogicUtility.Instance.GotoComposeItem(jumpId);
                        }
                    });
                }
                if (attrData.itemConfig.Effect1 == 225)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(ItemOperateType.inlay, attrData.guid); });
                    attrData.SetTipsFuncBtn(ItemOperateType.inlay, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoInlayItem(attrData.guid); });
                }
                //    if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
                //    {
                //        attrData.SetTipsFuncBtn(ItemWinBtnType.putAway, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutAwayQuest(ItemWinBtnType.putAway, attrData.guid); });
                //    }
                //}
                //if (attrData.count > 1)
                //{
                //    attrData.SetTipsFuncBtn(ItemWinBtnType.split, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.OnClickSplitBtn(ItemWinBtnType.split, attrData.guid); });
                //}
                if (!isOverdue)
                {
@@ -1338,45 +1330,22 @@
                            attrData.SetTipsFuncBtn(ItemOperateType.putOn, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.PutOnItem(ItemOperateType.putOn, attrData.guid); });
                            break;
                    }
                    //if (attrData.itemConfig.UseTag == 1)
                    //{
                    //    attrData.SetTipsFuncBtn(ItemWinBtnType.makeUse, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, attrData.index); });
                    //}
                }
                //for (int i = 0; i < ItemRenewalIds.Length; i++)
                //{
                //    if (ItemRenewalIds[i] == attrData.itemId)
                //    {
                //        if (isOverdue)
                //        {
                //            attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendRenewalQuest(ItemWinBtnType.renewal, attrData.guid); });
                //        }
                //    }
                //}
                //for (int i = 0; i < tryPutOnEquipIds.Length; i++)
                //{
                //    if (tryPutOnEquipIds[i] == attrData.itemId)
                //    {
                //        if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
                //        {
                //            attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
                //        }
                //    }
                //}
            }
        }
        public void SetJadeDynastyPutOnTipsBtn(ItemAttrData attrData)
        {
            if (attrData == null) return;
            if (attrData == null)
            {
                return;
            }
            RoleEquipType equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
            attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) => {
                ItemLogicUtility.Instance.PutOffEquip(ItemOperateType.putOff, attrData.guid);
            var equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
            attrData.SetTipsFuncBtn(ItemOperateType.putOff, (ItemWinBtnType, ItemAttrData) =>
            {
                ItemLogicUtility.Instance.PutOffEquip(attrData.guid);
            });
        }
        #endregion
@@ -1386,18 +1355,19 @@
        public List<GetItemWaysConfig> GetWaysList(ItemAttrData attrData)
        {
            getWayslist.Clear();
            if (attrData == null) return getWayslist;
            if (attrData != null)
            {
            int[] waysArray = attrData.itemConfig.GetWay;
            if (waysArray != null)
            {
                int i = 0;
                for (i = 0; i < waysArray.Length; i++)
                {
                    GetItemWaysConfig itemWaysModel = GetItemWaysConfig.Get(waysArray[i]);
                    if (itemWaysModel != null)
                        var config = GetItemWaysConfig.Get(waysArray[i]);
                        if (config != null)
                    {
                        getWayslist.Add(itemWaysModel);
                            getWayslist.Add(config);
                        }
                    }
                }
            }
@@ -2344,15 +2314,13 @@
        #endregion
        #region 解锁背包格子数据
        public int OpenCount
        {
        public int OpenCount {
            get; private set;
        }
        public PackType packType { get; private set; }
        public int Index
        {
        public int Index {
            get; private set;
        }
@@ -2461,10 +2429,8 @@
        #region 物品增加战斗力
        PlayerMountDatas mountDatas { get { return ModelCenter.Instance.GetModel<PlayerMountDatas>(); } }
        public PlayerStrengthengDatas strengthengmodel
        {
            get
            {
        public PlayerStrengthengDatas strengthengmodel {
            get {
                return  ModelCenter.Instance.GetModel<PlayerStrengthengDatas>();
            }
        }
@@ -2993,41 +2959,33 @@
        public bool isHavePutLimit { get; private set; }
        PlayerStrengthengDatas m_StrengthengModel;
        public PlayerStrengthengDatas strengthengmodel
        {
            get
            {
        public PlayerStrengthengDatas strengthengmodel {
            get {
                return m_StrengthengModel ?? (m_StrengthengModel = ModelCenter.Instance.GetModel<PlayerStrengthengDatas>());
            }
        }
        PackModelInterface _modelInterface;
        PackModelInterface modelInterface
        {
        PackModelInterface modelInterface {
            get { return _modelInterface ?? (_modelInterface = ModelCenter.Instance.GetModel<PackModelInterface>()); }
        }
        EquipWashModel _washModel;
        EquipWashModel washModel
        {
            get
            {
        EquipWashModel washModel {
            get {
                return _washModel ?? (_washModel = ModelCenter.Instance.GetModel<EquipWashModel>());
            }
        }
        ItemTipsModel _itemTipsModel;
        ItemTipsModel itemTipsModel
        {
            get
            {
        ItemTipsModel itemTipsModel {
            get {
                return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
            }
        }
        PlayerSuitModel _suitModel;
        PlayerSuitModel SuitModel
        {
        PlayerSuitModel SuitModel {
            get { return _suitModel ?? (_suitModel = ModelCenter.Instance.GetModel<PlayerSuitModel>()); }
        }
System/KnapSack/Logic/PlayerPackModels.cs
@@ -136,7 +136,7 @@
        public void OnPlayerLoginOk()
        {
            ItemLogicUtility.Instance.SendOpenWarehouse();
            ItemLogicUtility.Instance.RequestWarehouseData();
            SetPlayerAttrActiveRedPoint();
            EquipDecomRedCtrl();
            RoleEquipLocalSave = StringUtility.Contact("RoleEquipLocalSave", PlayerDatas.Instance.baseData.PlayerID);
System/KnapSack/New/BagWin.cs
@@ -276,7 +276,7 @@
                        };
                        gridCell.itemCellBtn.m_OnDbClick = () =>
                          {
                              ItemLogicUtility.Instance.PutInWareHouse(ItemOperateType.putIn, itemModel.guid);
                              ItemLogicUtility.Instance.PutInWareHouse(itemModel.guid);
                          };
                    }
System/KnapSack/PreciousItemGetBehaviour.cs
@@ -94,11 +94,11 @@
                            bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(itemModel.itemId, out jumpId);
                            if (isUnlock)
                            {
                                ItemLogicUtility.Instance.GotoComposeItem(ItemOperateType.compose, jumpId);
                                ItemLogicUtility.Instance.GotoComposeItem(jumpId);
                            }
                            break;
                        default:
                            ItemLogicUtility.Instance.UseItem(ItemOperateType.makeUse, itemModel.itemPlace);
                            ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
                            break;
                    }
                }
System/SystemSetting/SettingEffectMgr.cs
@@ -245,7 +245,7 @@
                    List<ItemModel> list = null;
                    if (singlePack.GetItemCountByID(_tagItemModel.ID,out list) > 0)
                    {
                        ItemLogicUtility.Instance.UseItem(ItemOperateType.makeUse, list[0].itemPlace);
                        ItemLogicUtility.Instance.UseItem(list[0].itemPlace);
                        break;
                    }
                    else