| | |
| | | } |
| | | 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> |
| | |
| | | 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(); |
| | |
| | | |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | |
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | | |
| | |
| | | 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) |
| | |
| | | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |