| | |
| | | } |
| | | else |
| | | { |
| | | if(sendItemConfig.EquipPlace != (int)RoleEquipType.retWing) |
| | | { |
| | | CheckPutOnNeed(); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnRealm(); |
| | | } |
| | | |
| | | CheckEquipUselimit(sendItemConfig); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (sendItemConfig.EquipPlace != (int)RoleEquipType.retWing) |
| | | CheckEquipUselimit(sendItemConfig); |
| | | } |
| | | } |
| | | |
| | | public bool CheckEquipUselimit(ItemConfig config) |
| | | { |
| | | int[] uselimits = config.UseCondiType; |
| | | if (uselimits == null || uselimits.Length < 1) |
| | | { |
| | | CheckPutOnPlace(); |
| | | return true; |
| | | } |
| | | |
| | | bool isCanPut = true; |
| | | for(int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | switch(uselimits[i]) |
| | | { |
| | | CheckPutOnNeed(); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnRealm(); |
| | | 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) |
| | | offsetConditionStr.Length = 0; |
| | | sumOffsetlist.Clear(); |
| | | sumNeedlist.Clear(); |
| | | sumOffsetPoint = 0; |
| | | sumNeedPoint = 0; |
| | | needConditionStr.Length = 0; |
| | | upgradConditionStr.Length = 0; |
| | | float offset = 0; |
| | | if (sendItemConfig.LimitSTR != 0) |
| | | { |
| | | int remainLv = sendItemConfig.UseLV - playerLv; |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("EquipWinLevelLimit", sendItemConfig.UseLV,remainLv)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Length = 0; |
| | | sumOffsetlist.Clear(); |
| | | sumNeedlist.Clear(); |
| | | sumOffsetPoint = 0; |
| | | sumNeedPoint = 0; |
| | | needConditionStr.Length = 0; |
| | | upgradConditionStr.Length = 0; |
| | | float offset = 0; |
| | | if (sendItemConfig.LimitSTR != 0) |
| | | offset = sendItemConfig.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER); |
| | | if (offset > 0) |
| | | { |
| | | offset = sendItemConfig.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER); |
| | | if (offset > 0) |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS136", offset)); |
| | | } |
| | | |
| | | if(upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitSTR; |
| | | sumOffsetlist.Add(AttrEnum.POWER, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.POWER, sendItemConfig.LimitSTR); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS136", offset)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | offsetConditionStr.Append(Language.Get("KnapS136", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS136", sendItemConfig.LimitSTR), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitSTR; |
| | | sumOffsetlist.Add(AttrEnum.POWER, offset); |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPHY != 0) |
| | | sumNeedlist.Add(AttrEnum.POWER, sendItemConfig.LimitSTR); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | offset = sendItemConfig.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS135", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitPHY; |
| | | sumOffsetlist.Add(AttrEnum.AGILITY, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.AGILITY, sendItemConfig.LimitPHY); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPNE != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS137", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumOffsetlist.Add(AttrEnum.MENTALITY, offset); |
| | | sumNeedPoint += sendItemConfig.LimitPNE; |
| | | } |
| | | sumNeedlist.Add(AttrEnum.MENTALITY, sendItemConfig.LimitPNE); |
| | | |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | |
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { |
| | | |
| | | if (isOk) |
| | | { |
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint)) |
| | | { |
| | | foreach (var key in sumOffsetlist.Keys) |
| | | { |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint; |
| | | rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | FuncConfigConfig addPointFunc = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LVUPAddPoint"); |
| | | int[] rankValue = ConfigParse.GetMultipleStr<int>(addPointFunc.Numerical1); |
| | | if (addPointFunc != null) |
| | | { |
| | | double needUpgradLV = System.Math.Ceiling((sumOffsetPoint - PlayerDatas.Instance.baseData.FreePoint) / rankValue[jobRank - 1]); |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS134",upgradConditionStr.ToString(), needUpgradLV.ToString())); |
| | | } |
| | | } |
| | | |
| | | needConditionStr.Append("\n" + Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | } |
| | | else |
| | | { |
| | | CheckPutOnPlace(); |
| | | needConditionStr.Append(Language.Get("KnapS136", sendItemConfig.LimitSTR)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPHY != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS135", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS135", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS135", sendItemConfig.LimitPHY), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumNeedPoint += sendItemConfig.LimitPHY; |
| | | sumOffsetlist.Add(AttrEnum.AGILITY, offset); |
| | | } |
| | | sumNeedlist.Add(AttrEnum.AGILITY, sendItemConfig.LimitPHY); |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS135", sendItemConfig.LimitPHY)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sendItemConfig.LimitPNE != 0) |
| | | { |
| | | offset = sendItemConfig.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY); |
| | | if (offset > 0) |
| | | { |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | offsetConditionStr.Append("\n" + Language.Get("KnapS137", offset)); |
| | | } |
| | | else |
| | | { |
| | | offsetConditionStr.Append(Language.Get("KnapS137", offset)); |
| | | } |
| | | |
| | | if (upgradConditionStr.Length > 0) |
| | | { |
| | | upgradConditionStr.Append("\n" + Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | else |
| | | { |
| | | upgradConditionStr.Append(Language.Get("KnapS141", Language.Get("KnapS137", sendItemConfig.LimitPNE), offset)); |
| | | } |
| | | |
| | | sumOffsetPoint += offset; |
| | | sumOffsetlist.Add(AttrEnum.MENTALITY, offset); |
| | | sumNeedPoint += sendItemConfig.LimitPNE; |
| | | } |
| | | sumNeedlist.Add(AttrEnum.MENTALITY, sendItemConfig.LimitPNE); |
| | | |
| | | if (needConditionStr.Length > 0) |
| | | { |
| | | needConditionStr.Append("\n" + Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | else |
| | | { |
| | | needConditionStr.Append(Language.Get("KnapS137", sendItemConfig.LimitPNE)); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (offsetConditionStr.Length > 0) |
| | | { |
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint) |
| | | { |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS132", offsetConditionStr.ToString()), (bool isOk) => { |
| | | |
| | | if (isOk) |
| | | { |
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint)) |
| | | { |
| | | foreach (var key in sumOffsetlist.Keys) |
| | | { |
| | | PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshFreePoint; |
| | | rolePointModel.SendAddPoint((int)key, (int)sumOffsetlist[key]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip((int)FuncOpenEnum.AddPoint); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | FuncConfigConfig addPointFunc = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("LVUPAddPoint"); |
| | | int[] rankValue = ConfigParse.GetMultipleStr<int>(addPointFunc.Numerical1); |
| | | if (addPointFunc != null) |
| | | { |
| | | double needUpgradLV = System.Math.Ceiling((sumOffsetPoint - PlayerDatas.Instance.baseData.FreePoint) / rankValue[jobRank - 1]); |
| | | ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS134", upgradConditionStr.ToString(), needUpgradLV.ToString())); |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | 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())); |
| | | 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 void CheckUseCondition(ItemModel itemModel) |
| | | public bool CheckItemUselimit(ItemConfig config) |
| | | { |
| | | if (PlayerDatas.Instance.baseData.LV < itemModel.chinItemModel.UseLV) |
| | | int[] uselimits = config.UseCondiType; |
| | | if (uselimits == null) return true; |
| | | |
| | | for (int i = 0; i < uselimits.Length; i++) |
| | | { |
| | | MessageWin.Inst.ShowFixedTip(Language.Get("MakeUseItem101", itemModel.chinItemModel.UseLV)); |
| | | return; |
| | | 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(!CheckItemUselimit(itemModel.chinItemModel)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if(itemModel.chinItemModel.Type == 59) |
| | | { |
| | | playerPack.SetWashAttrPointModel(itemModel.itemInfo.ItemGUID); |