少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-20 756eebc9ce70c7a61ad49544ba85cb3857c441c6
3335 物品相关类型重构
16个文件已修改
183 ■■■■■ 已修改文件
System/BetterItemGet/PreciousItemGetModel.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonLiquidCell.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/ItemUseBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/BoxGetItemModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/BoxGetItemWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemLogicUtility.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/MakeDrugCell.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/WashAttrPointWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/WashPointBatchUseWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/BatchWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/ChooseItemWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/OfflineHangUpUseWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/PreciousItemGetBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SettingEffectMgr.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BetterItemGet/PreciousItemGetModel.cs
@@ -98,7 +98,8 @@
            if(itemModels != null && itemModels.Count > 0)
            {
                var itemModel = itemModels[0];
                bool isHaveMakeNum = ItemLogicUtility.Instance.IsHaveMakeNumber(itemModel.itemPlace);
                var error = 0;
                var isHaveMakeNum = ItemLogicUtility.Instance.CanUseItem(itemModel.itemPlace ,1,out error);
                if(isHaveMakeNum)
                {
                    OnGetPreciousItem(PackType.Item, itemModel.guid);
System/Dungeon/DungeonLiquidCell.cs
@@ -193,14 +193,14 @@
                if (isOk)
                {
                    WindowCenter.Instance.Close<DungeonUseLiquidWin>();
                    ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace);
                    ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
                }
            }));
        }
        else
        {
            WindowCenter.Instance.Close<DungeonUseLiquidWin>();
            ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace);
            ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
        }
    }
System/KnapSack/ItemUseBehaviour.cs
@@ -63,7 +63,7 @@
                model.ReportConfirmUseItem(model.currentShowItem);
                if (itemModel != null && itemModel.packType == PackType.Item)
                {
                    ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
                    ItemLogicUtility.Instance.GotoUseItem(itemModel.itemPlace);
                }
            }
        }
System/KnapSack/Logic/BoxGetItemModel.cs
@@ -177,7 +177,7 @@
            ItemModel itemModel = playerPack.GetItemModelByGUID(guid);
            if (itemModel != null)
            {
                ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace,useCnt);
                ItemLogicUtility.Instance.UseItem(itemModel.itemPlace,useCnt);
            }
        }
System/KnapSack/Logic/BoxGetItemWin.cs
@@ -250,7 +250,7 @@
            if (itemModel == null) return;
            int useCnt = BoxModel.GetUseCntByID(itemModel.itemId);
            ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace, 1);
            ItemLogicUtility.Instance.UseItem(itemModel.itemPlace, 1);
        }
        private void ClickBackBtn()
System/KnapSack/Logic/ItemLogicUtility.cs
@@ -23,7 +23,7 @@
        RolePointModel rolePointModel { get { return ModelCenter.Instance.GetModel<RolePointModel>(); } }
        DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
        #region 发送穿戴装备的请求
        #region 装备
        public ItemModel selectedItem { get; private set; }
        ItemConfig sendItemConfig = null;
@@ -610,9 +610,7 @@
            }
        }
        #endregion
        #region 发送脱下装备的请求
        public void PutOffEquip(string guid)
        {
            var item = playerPack.GetItemModelByGUID(guid);
@@ -691,7 +689,14 @@
        #endregion
        #region 发送放入仓库请求
        #region 仓库
        public void RequestWarehouseData()
        {
            var openWarehouse = new CA204_tagCMOpenLongWarehouse();
            GameNetSystem.Instance.SendInfo(openWarehouse);
        }
        public void PutInWareHouse(string guid)
        {
            var itemModel = playerPack.GetItemModelByGUID(guid);
@@ -706,9 +711,7 @@
            putInWarehouse.Count = (ushort)itemModel.count;
            GameNetSystem.Instance.SendInfo(putInWarehouse);
        }
        #endregion
        #region 发送从仓库取出请求
        public void TakeOutFromWarehouse(ItemOperateType btnType, string guid)
        {
            var itemModel = playerPack.GetItemModelByGUID(guid);
@@ -725,10 +728,10 @@
        }
        #endregion
        #region 发送使用物品请求
        #region 使用物品
        public ItemModel useItemModel { get;  set; }
        public void UseItem(int itemIndex)
        public void GotoUseItem(int itemIndex)
        {
            var singlePack = playerPack.GetSinglePackModel(PackType.Item);
            if (singlePack == null)
@@ -800,12 +803,15 @@
            {
                if (itemTipsModel.jumpAndUseTypes[i] == useItemModel.config.Type)
                {
                    bool isMakeUse = CheckUseCondition(useItemModel);
                    if (isMakeUse && IsHaveMakeNumber(useItemModel.itemPlace))
                    if (CheckUseCondition(useItemModel))
                    {
                        var error = 0;
                        if (CanUseItem(useItemModel.itemPlace, 1, out error))
                    {
                        if (useItemModel.config.Jump != 0)
                        {
                            WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)useItemModel.config.Jump);
                            }
                        }
                    }
                    return;
@@ -883,7 +889,7 @@
            return true;
        }
        public bool CheckUseCondition(ItemModel itemModel)
        bool CheckUseCondition(ItemModel itemModel)
        {
            if (!CheckItemUselimit(itemModel.itemId))
            {
@@ -911,7 +917,7 @@
                {
                    if (!CheckIsMaxOfflineTime(maxUseCnt, itemModel))
                    {
                        SendMakeUseQuest(itemModel.itemPlace);
                        UseItem(itemModel.itemPlace);
                    }
                    else
                    {
@@ -962,7 +968,7 @@
                    {
                        if (isOk)
                        {
                            SendMakeUseQuest(itemModel.itemPlace);
                            UseItem(itemModel.itemPlace);
                        }
                    }
                    );
@@ -978,7 +984,7 @@
                            ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(itemModel.guid);
                            if (cool == null || cool.GetRemainTime() <= 0)
                            {
                                SendMakeUseQuest(itemModel.itemPlace);
                                UseItem(itemModel.itemPlace);
                            }
                            else
                            {
@@ -991,6 +997,7 @@
            }
            return true;
        }
        public int GetOfflineMaxNum(ItemModel itemModel)
        {
            int remainOffline = HangUpSetModel.Instance.maxOfflinePluginTime - HangUpSetModel.Instance.offlinePluginTime;
@@ -1024,7 +1031,7 @@
                    {
                        if (isOk)
                        {
                            SendMakeUseQuest(itemModel.itemPlace, useNum);
                            UseItem(itemModel.itemPlace, useNum);
                        }
                    });
                    return true;
@@ -1033,74 +1040,94 @@
            return false;
        }
        public void SendMakeUseQuest(int index, int useCnt = 1, int extra = 0)
        public void UseItem(int index, int useCnt = 1, int extra = 0)
        {
            ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null) return;
            var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
            }
            int haveUseCnt = playerPack.GetDayUseCntByID(itemModel.itemId);
            if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= haveUseCnt)
            var error = 0;
            if (CanUseItem(index, useCnt, out error))
            {
                UseItemMainServer(index, useCnt, extra);
            }
            else
            {
                switch (error)
                {
                    case 1:
                SysNotifyMgr.Instance.ShowTip("EverydayUseLimit");
                return;
            }
            int sumHaveUseCnt = playerPack.GetSumUseCntByID(itemModel.itemId);
            AttrFruitConfig fruitConfig = AttrFruitConfig.Get(itemModel.itemId);
            if (fruitConfig != null && (sumHaveUseCnt >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt))
            {
                        break;
                    case 2:
                SysNotifyMgr.Instance.ShowTip("UseCntLimit");
                return;
                        break;
                    default:
                        break;
                }
            }
            }
            SendMainServerMakeUseItem(index, useCnt, extra);
        }
        public bool IsHaveMakeNumber(int index, int useCnt = 1)
        public bool CanUseItem(int index, int useCnt, out int error)
        {
            ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null) return false;
            int haveUseCnt = playerPack.GetDayUseCntByID(itemModel.itemId);
            if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= haveUseCnt)
            var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                error = 999;
                return false;
            }
            int sumHaveUseCnt = playerPack.GetSumUseCntByID(itemModel.itemId);
            AttrFruitConfig fruitConfig = AttrFruitConfig.Get(itemModel.itemId);
            if (fruitConfig != null
                && (sumHaveUseCnt >= fruitConfig.MaxUseCnt
                   || useCnt > fruitConfig.MaxUseCnt))
            var usedCountToday = playerPack.GetDayUseCntByID(itemModel.itemId);
            if (itemModel.config.MaxSkillCnt > 0 && itemModel.config.MaxSkillCnt <= usedCountToday)
            {
                error = 1;
                return false;
            }
            var usedCountTotal = playerPack.GetSumUseCntByID(itemModel.itemId);
            var fruitConfig = AttrFruitConfig.Get(itemModel.itemId);
            if (fruitConfig != null && (usedCountTotal >= fruitConfig.MaxUseCnt || useCnt > fruitConfig.MaxUseCnt))
            {
                error = 1;
                return false;
            }
            error = 0;
            return true;
        }
        public void SendMainServerMakeUseItem(int index, int useCnt, int extra)
        public void UseItemMainServer(int index, int useCnt, int extra)
        {
            ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null) return;
            var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
            }
            CA323_tagCMUseItems useItem = new CA323_tagCMUseItems();
            var useItem = new CA323_tagCMUseItems();
            useItem.ItemIndex = (byte)index;
            useItem.UseCnt = (ushort)useCnt;
            useItem.ExData = (uint)extra;
            GameNetSystem.Instance.SendInfo(useItem); //使用物品
        }
        public void SendCrossServerMakeUseItem(int index)
        public void UseItemCrossServer(int index)
        {
            ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null) return;
            var itemModel = playerPack.GetItemModelByIndex(PackType.Item, index);
            if (itemModel == null)
            {
                return;
            }
            CC107_tagCMCrossUseItem useItem = new CC107_tagCMCrossUseItem();
            var useItem = new CC107_tagCMCrossUseItem();
            useItem.ItemID = (uint)itemModel.itemId;
            GameNetSystem.Instance.SendToCrossServer(useItem);
        }
        #endregion
        #region 发送拆分请求
        #region 拆分
        public void OnClickSplitBtn(string guid)
        {
            WindowCenter.Instance.Open<SplitWin>();
@@ -1137,7 +1164,7 @@
        #endregion
        #region 发送上架请求
        #region 上架
        public void PutAwayItem(string guid)
        {
            var itemModel = playerPack.GetItemModelByGUID(guid);
@@ -1152,7 +1179,7 @@
        }
        #endregion
        #region 点击镶嵌按钮
        #region 镶嵌
        public void GotoInlayItem(string guid)
        {
            var model = playerPack.GetItemModelByGUID(guid);
@@ -1169,14 +1196,14 @@
        }
        #endregion
        #region 点击合成按钮
        #region 合成
        public void GotoComposeItem(int jumpId)
        {
            WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)jumpId);
        }
        #endregion
        #region 发送出售请求
        #region 出售
        public void SellItem( ItemAttrData attrData)
        {
            if (attrData.itemConfig.EquipPlace > 0 && attrData.itemConfig.EquipPlace <= (int)RoleEquipType.SpiritAnimal)
@@ -1263,7 +1290,7 @@
        }
        #endregion
        #region 发送拆解请求
        #region 拆解
        public void DismantleItem(ItemAttrData attrData)
        {
            var dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.itemDecompound);
@@ -1323,7 +1350,7 @@
        }
        #endregion
        #region 发送续费请求
        #region 续费
        public void RenewalItem(string guid)
        {
            GuardOverdueWin.guid = guid;
@@ -1331,13 +1358,5 @@
        }
        #endregion
        #region 获取仓库数据
        public void RequestWarehouseData()
        {
            var openWarehouse = new CA204_tagCMOpenLongWarehouse();
            GameNetSystem.Instance.SendInfo(openWarehouse);
        }
        #endregion
    }
}
System/KnapSack/Logic/ItemTipsModel.cs
@@ -1151,7 +1151,7 @@
                if (attrData.itemConfig.UseTag == 1)
                {
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.UseItem(attrData.index); });
                    attrData.SetTipsFuncBtn(ItemOperateType.makeUse, (ItemWinBtnType, ItemAttrData) => { ItemLogicUtility.Instance.GotoUseItem(attrData.index); });
                }
            }
System/KnapSack/Logic/MakeDrugCell.cs
@@ -203,7 +203,7 @@
            {
                if(ItemLogicUtility.Instance.CheckItemUselimit(itemId))
                {
                    ItemLogicUtility.Instance.SendMakeUseQuest(list[0].itemPlace);
                    ItemLogicUtility.Instance.UseItem(list[0].itemPlace);
                }
            }
        }
System/KnapSack/Logic/PackModelInterface.cs
@@ -724,7 +724,8 @@
                    }
                    break;
                case 127:
                    bool isHaveMakeNum = ItemLogicUtility.Instance.IsHaveMakeNumber(itemModel.itemPlace);
                    var error = 0;
                    bool isHaveMakeNum = ItemLogicUtility.Instance.CanUseItem(itemModel.itemPlace ,1,out error);
                    int remainNum = CrossServerOneVsOnePlayerInfo.Instance.GetDayRemainNum();
                    if (!CrossServerOneVsOnePKSeason.Instance.isSatisfyMatch
                        || remainNum > 0
System/KnapSack/Logic/WashAttrPointWin.cs
@@ -169,7 +169,7 @@
                }
                else
                {
                    ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace,1,(int)selectAttr);
                    ItemLogicUtility.Instance.UseItem(itemModel.itemPlace,1,(int)selectAttr);
                }
                
            }
System/KnapSack/Logic/WashPointBatchUseWin.cs
@@ -155,7 +155,7 @@
            if (itemModel == null)
                return;
            ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
            ItemLogicUtility.Instance.UseItem(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
            OnClickCloseBtn();
        }
System/KnapSack/New/BatchWin.cs
@@ -178,7 +178,7 @@
                {
                    if (isOk)
                    {
                        ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
                        ItemLogicUtility.Instance.UseItem(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
                    }
                }
                );
@@ -190,7 +190,7 @@
            }
            else
            {
                ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
                ItemLogicUtility.Instance.UseItem(itemModel.itemPlace, (ushort)Mathf.Ceil(_splitSlider.value), BatchUseModel.Instance.extraPrams);
            }
         
            OnClickCloseBtn();
System/KnapSack/New/ChooseItemWin.cs
@@ -208,7 +208,7 @@
            ItemModel itemModel = playerPack.GetItemModelByGUID(BoxModel.guid);
            if(itemModel != null)
            {
                ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace,useNum,chooseId);
                ItemLogicUtility.Instance.UseItem(itemModel.itemPlace,useNum,chooseId);
            }
            CloseImmediately();
        }
System/KnapSack/New/OfflineHangUpUseWin.cs
@@ -104,7 +104,7 @@
            bool isMax = ItemLogicUtility.Instance.CheckIsMaxOfflineTime((int)Mathf.Ceil(_batchUseSlider.value), itemModel);
            if(!isMax)
            {
                ItemLogicUtility.Instance.SendMakeUseQuest(itemModel.itemPlace, (int)Mathf.Ceil(_batchUseSlider.value));
                ItemLogicUtility.Instance.UseItem(itemModel.itemPlace, (int)Mathf.Ceil(_batchUseSlider.value));
            }
            CloseClick();
        }
System/KnapSack/PreciousItemGetBehaviour.cs
@@ -98,7 +98,7 @@
                            }
                            break;
                        default:
                            ItemLogicUtility.Instance.UseItem(itemModel.itemPlace);
                            ItemLogicUtility.Instance.GotoUseItem(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(list[0].itemPlace);
                        ItemLogicUtility.Instance.GotoUseItem(list[0].itemPlace);
                        break;
                    }
                    else