少年修仙传客户端代码仓库
leonard Wu
2018-08-03 c2d2d5d3a840bf50968b3f95e304929bc62a7b70
System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -121,28 +121,51 @@
                }
                else
                {
                    if(sendItemConfig.EquipPlace != (int)RoleEquipType.retWing)
                    {
                        CheckPutOnNeed();
                    CheckEquipUselimit(sendItemConfig);
                }
                    }
                    else
                    {
                        CheckPutOnRealm();
                CheckEquipUselimit(sendItemConfig);
            }
                    }
                  
                }
            }
            else
        public bool CheckEquipUselimit(ItemConfig config)
            {
                if (sendItemConfig.EquipPlace != (int)RoleEquipType.retWing)
            int[] uselimits = config.UseCondiType;
            if (uselimits == null || uselimits.Length < 1)
                {
                    CheckPutOnNeed();
                CheckPutOnPlace();
                return true;
                }
                else
            bool isCanPut = true;
            for(int i = 0; i < uselimits.Length; i++)
                {
                    CheckPutOnRealm();
                switch(uselimits[i])
                {
                    case 0:
                        int playerLv = PlayerDatas.Instance.baseData.LV;
                        if (playerLv < config.UseLV)
                        {
                            isCanPut = false;
                            int remainLv = config.UseLV - playerLv;
                            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", config.UseLV, remainLv));
                        }
                        break;
                    case 1:
                        isCanPut = CheckPutOnRealm(config);
                        break;
                    case 2:
                        isCanPut = CheckPutOnNeed();
                        break;
                }
            }
            if(isCanPut)
            {
                CheckPutOnPlace();
            }
            return isCanPut;
        }
        /// <summary>
@@ -155,24 +178,16 @@
        private Dictionary<AttrEnum, int> sumNeedlist = new Dictionary<AttrEnum, int>();
        private float sumOffsetPoint = 0;
        private int sumNeedPoint = 0;
        private void CheckPutOnNeed()
        private bool CheckPutOnNeed()
        {
            int playerJob = PlayerDatas.Instance.baseData.Job;
            if (playerJob != Math.Floor((double)sendItemConfig.JobLimit / 100) && sendItemConfig.JobLimit != 0)
            {
                SysNotifyMgr.Instance.ShowTip("GeRen_lhs_31379");
                return;
                return false;
            }
            int jobRank = sendItemConfig.JobLimit % 10;
            int playerLv = PlayerDatas.Instance.baseData.LV;
            if (playerLv < sendItemConfig.UseLV)
            {
                int remainLv = sendItemConfig.UseLV - playerLv;
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", sendItemConfig.UseLV,remainLv));
            }
            else
            {
                offsetConditionStr.Length = 0;
                sumOffsetlist.Clear();
                sumNeedlist.Clear();
@@ -301,7 +316,6 @@
                if (offsetConditionStr.Length > 0)
                {
                    if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint)
                    {
                        ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => {
@@ -334,23 +348,18 @@
                        }
                    }
                return false;
                }
                else
                {
                    CheckPutOnPlace();
                }
            }
            return true;
        }
        private StringBuilder curRealmImgStr = new StringBuilder();
        private StringBuilder needRealmImgStr = new StringBuilder();
        private void CheckPutOnRealm()
        private bool CheckPutOnRealm(ItemConfig config)
        {
            curRealmImgStr.Length = 0;
            needRealmImgStr.Length = 0;
            var _realmLv = 1;
            GeneralConfig.Instance.wingEquipLimits.TryGetValue(sendItemConfig.ID, out _realmLv);
            var _realmLv = config.RealmLimit;
            var needRealmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(_realmLv);
            var curRealmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
@@ -366,11 +375,9 @@
                    curRealmImgStr.Append(Language.Get("Market_Text_33"));
                }
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS142",needRealmImgStr.ToString(),curRealmImgStr.ToString()));        
                return false;
            }
            else
            {
                CheckPutOnPlace();
            }
            return true;
        }
        private void RefreshFreePoint(PlayerDataRefresh refreshType)
@@ -677,12 +684,7 @@
            if(playerPack.CheckIsDrugById(useItemModel.itemInfo.ItemID))
            {
                if (PlayerDatas.Instance.baseData.LV < useItemModel.chinItemModel.UseLV)
                {
                    MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", useItemModel.chinItemModel.UseLV));
                }
                else
                if(CheckItemUselimit(useItemModel.chinItemModel))
                {
                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.MakeDrug);
                }
@@ -731,11 +733,35 @@
            }
        }
        public bool CheckItemUselimit(ItemConfig config)
        {
            int[] uselimits = config.UseCondiType;
            if (uselimits == null) return true;
            for (int i = 0; i < uselimits.Length; i++)
            {
                switch (uselimits[i])
                {
                    case 0:
                        int playerLv = PlayerDatas.Instance.baseData.LV;
                        if (playerLv < config.UseLV)
                        {
                            MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", useItemModel.chinItemModel.UseLV));
                            return false;
                        }
                        break;
                    case 1:
                         return CheckPutOnRealm(config);
                }
            }
            return true;
        }
        public void CheckUseCondition(ItemModel itemModel)
        {
            if (PlayerDatas.Instance.baseData.LV < itemModel.chinItemModel.UseLV)
            if(!CheckItemUselimit(itemModel.chinItemModel))
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", itemModel.chinItemModel.UseLV));
                return;
            }