少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 703337574c8d4d4e852ea90c778e3aff3523ce12
System/KnapSack/Logic/PackModelInterface.cs
@@ -40,6 +40,7 @@
        PlayerStrengthengDatas strengthDatas { get { return ModelCenter.Instance.GetModel<PlayerStrengthengDatas>(); } }
        MagicianModel magicianModel { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } }
        TrialDungeonModel trialModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } }
        ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
        private int[] pushItemIds;
        public int[] pushBuffTypeIds;
@@ -489,6 +490,15 @@
                }
            }
            if(playerPack.CheckIsDrugById(itemModel.itemId))
            {
                if(itemModel.chinItemModel.RealmLimit > PlayerDatas.Instance.baseData.realmLevel)
                {
                    isReach = false;
                    return isReach;
                }
            }
            switch (itemModel.chinItemModel.Type)
            {
                case 8:
@@ -554,6 +564,13 @@
                        return isReach;
                    }
                    break;
                case 39:
                    if(!CheckIsBetterWings(itemModel))
                    {
                        isReach = false;
                        return isReach;
                    }
                    break;
                case 52:
                    if (!strengthDatas.IsHint(itemModel.itemId))
                    {
@@ -588,6 +605,59 @@
            return isReach;
        }
        private bool CheckIsBetterWings(ItemModel itemModel)
        {
            if (itemModel == null) return false;
            bool isBetter = true;
            ItemModel putModel = playerPack.GetItemModelByIndex(PackType.rptEquip,(int)RoleEquipType.retWing);
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
            List<ItemModel> itemModels = null;
            if(singlePack != null)
            {
                singlePack.GetItemCountByType((int)ItemType.Wings, out itemModels);
            }
            int[] composeTypes = itemModel.chinItemModel.JumpComposeCondi;
            bool isOpenCompose = false;
            if(composeTypes != null && composeTypes.Length >= 3)
            {
                ItemCompoundConfig itemCompound = ItemCompoundConfig.GetItemCompoundByType(composeTypes[0], composeTypes[1], composeTypes[2]);
                if (itemCompound != null)
                {
                    if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
                    {
                        isOpenCompose = true;
                    }
                }
            }
            if(!isOpenCompose)
            {
                return false;
            }
            if (putModel != null && putModel.chinItemModel.LV >= itemModel.chinItemModel.LV)
            {
                return false;
            }
            if (itemModels != null)
            {
                for(int i = 0; i < itemModels.Count; i++)
                {
                    if(itemModels[i].chinItemModel.JobLimit/100 == PlayerDatas.Instance.baseData.Job)
                    {
                        if(itemModels[i].chinItemModel.LV >= itemModel.chinItemModel.LV)
                        {
                            return false;
                        }
                    }
                }
            }
            return true;
        }
        private bool CheckIsExtendGrid(int itemId)
        {
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);