| | |
| | |
|
| | | public int[] randomRuneIds { get; private set; }
|
| | | public int[] PeerlessEquipIds { get; private set; } //绝世装备列表
|
| | |
|
| | | |
| | | PlayerPackModel _playerPack;
|
| | | PlayerPackModel playerPack
|
| | | {
|
| | |
| | | }
|
| | |
|
| | | ParseFuncConfig();
|
| | | ParseJadeDynastyEquipLegendAttr();
|
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | |
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | #region 解析诛仙装备传奇属性
|
| | | public Dictionary<string, List<int>> jadeDynastyLegendCountDict { get; private set; } //key 阶数 +星级 随机条数
|
| | | public Dictionary<int, List<int>> jadeDynastyLegendGroupDict { get; private set; } //key 物品类型 群组列表
|
| | | public Dictionary<int, List<int>> jadeDynastyLegendIdDict { get; private set; } //key 群组id 属性Id列表
|
| | | public Dictionary<int, Dictionary<int, int>> jadeDynastyLegendColorDict { get; private set; } //key s属性id 属性value范围 颜色值
|
| | | public Dictionary<int, string> jadeDynastyColorDict { get; private set; } //key 色值类型
|
| | | public Dictionary<int, int> jadeDynastyLegendValueDict { get; private set; } //key 属性id 最大属性value
|
| | |
|
| | | private void ParseJadeDynastyEquipLegendAttr()
|
| | | {
|
| | | jadeDynastyColorDict = new Dictionary<int, string>();
|
| | | jadeDynastyLegendCountDict = new Dictionary<string, List<int>>();
|
| | | jadeDynastyLegendGroupDict = new Dictionary<int, List<int>>();
|
| | | jadeDynastyLegendColorDict = new Dictionary<int, Dictionary<int, int>>();
|
| | | jadeDynastyLegendIdDict = new Dictionary<int, List<int>>();
|
| | | jadeDynastyLegendValueDict = new Dictionary<int, int>();
|
| | | var legendAttrColor = Config.Instance.Get<FuncConfigConfig>("LegendAttrColor");
|
| | | JsonData colorData = JsonMapper.ToObject(legendAttrColor.Numerical4);
|
| | | foreach(var key in colorData.Keys)
|
| | | {
|
| | | int colorType = int.Parse(key);
|
| | | string color = colorData[key].ToString();
|
| | | jadeDynastyColorDict.Add(colorType,color);
|
| | | }
|
| | |
|
| | | JsonData legendColorData = JsonMapper.ToObject(legendAttrColor.Numerical3);
|
| | | foreach(var key in legendColorData.Keys)
|
| | | {
|
| | | int attrId = int.Parse(key);
|
| | | var colorDict = new Dictionary<int, int>();
|
| | | jadeDynastyLegendColorDict.Add(attrId,colorDict);
|
| | | var attrValueData = legendColorData[key];
|
| | | foreach(var value in attrValueData.Keys)
|
| | | {
|
| | | int attrValue = int.Parse(value);
|
| | | int colorType = int.Parse(attrValueData[value].ToString());
|
| | | colorDict.Add(attrValue,colorType);
|
| | | }
|
| | | }
|
| | |
|
| | | var legendAttrRandRule = Config.Instance.Get<FuncConfigConfig>("LegendAttrRandRule");
|
| | | JsonData legendCountData = JsonMapper.ToObject(legendAttrRandRule.Numerical3);
|
| | | foreach(var key in legendCountData.Keys)
|
| | | {
|
| | | var rangeData = legendCountData[key];
|
| | | int equipLv = int.Parse(key);
|
| | | foreach(var star in rangeData.Keys)
|
| | | {
|
| | | var countData = rangeData[star];
|
| | | int equipStar = int.Parse(star);
|
| | | string guid = StringUtility.Contact(equipLv,equipStar);
|
| | | List<int> list = new List<int>();
|
| | | jadeDynastyLegendCountDict.Add(guid,list);
|
| | | if(countData.IsArray)
|
| | | {
|
| | | for(int i = 0; i < countData.Count; i++)
|
| | | {
|
| | | int count = int.Parse(countData[i].ToString());
|
| | | list.Add(count);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | JsonData legendGroupData = JsonMapper.ToObject(legendAttrRandRule.Numerical2);
|
| | | foreach(var type in legendGroupData.Keys)
|
| | | {
|
| | | var groupData = legendGroupData[type];
|
| | | int itemType = int.Parse(type);
|
| | | List<int> list = new List<int>();
|
| | | jadeDynastyLegendGroupDict.Add(itemType,list);
|
| | | if(groupData.IsArray)
|
| | | {
|
| | | for(int i = 0; i < groupData.Count; i++)
|
| | | {
|
| | | int groupType = int.Parse(groupData[i].ToString());
|
| | | list.Add(groupType);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | JsonData legendIdData = JsonMapper.ToObject(legendAttrRandRule.Numerical1);
|
| | | foreach(var key in legendIdData.Keys)
|
| | | {
|
| | | var attrIdData = legendIdData[key];
|
| | | int groupId = int.Parse(key);
|
| | | List<int> list = new List<int>();
|
| | | jadeDynastyLegendIdDict.Add(groupId, list);
|
| | | if (attrIdData.IsArray)
|
| | | {
|
| | | for (int i = 0; i < attrIdData.Count; i++)
|
| | | {
|
| | | int attrId = int.Parse(attrIdData[i].ToString());
|
| | | list.Add(attrId);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | JsonData legendValueData = JsonMapper.ToObject(legendAttrRandRule.Numerical4);
|
| | | foreach(var key in legendValueData.Keys)
|
| | | {
|
| | | int attrId = int.Parse(key);
|
| | | var valueData = legendValueData[key];
|
| | | if(valueData.IsArray && valueData.Count > 0)
|
| | | {
|
| | | int attrValue = int.Parse(valueData[0].ToString());
|
| | | jadeDynastyLegendValueDict.Add(attrId,attrValue);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDynastyLegendCount(int itemId,out int minCount,out int maxCount)
|
| | | {
|
| | | minCount = 0;
|
| | | maxCount = 0;
|
| | | var config = Config.Instance.Get<ItemConfig>(itemId);
|
| | | if (config == null) return false;
|
| | |
|
| | | int equipLv = config.LV;
|
| | | int equipStar = config.StarLevel;
|
| | | string guid = StringUtility.Contact(equipLv,equipStar);
|
| | | if(jadeDynastyLegendCountDict.ContainsKey(guid))
|
| | | {
|
| | | var list = jadeDynastyLegendCountDict[guid];
|
| | | if(list.Count > 1)
|
| | | {
|
| | | minCount = list[0];
|
| | | maxCount = list[1];
|
| | | return true;
|
| | | }
|
| | | else if(list.Count > 0)
|
| | | {
|
| | | maxCount = list[0];
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDynastyLegendAttr(int itemId,out Dictionary<int,int> attrDict)
|
| | | {
|
| | | attrDict = new Dictionary<int, int>();
|
| | | var config = Config.Instance.Get<ItemConfig>(itemId);
|
| | | if (config == null) return false;
|
| | |
|
| | | if(jadeDynastyLegendGroupDict.ContainsKey(config.Type))
|
| | | {
|
| | | var grouplist = jadeDynastyLegendGroupDict[config.Type];
|
| | | foreach(var groupId in grouplist)
|
| | | {
|
| | | if(jadeDynastyLegendIdDict.ContainsKey(groupId))
|
| | | {
|
| | | var attrIds = jadeDynastyLegendIdDict[groupId];
|
| | | foreach(var attrId in attrIds)
|
| | | {
|
| | | int attrValue = 0;
|
| | | if(jadeDynastyLegendValueDict.ContainsKey(attrId))
|
| | | {
|
| | | attrValue = jadeDynastyLegendValueDict[attrId];
|
| | | }
|
| | | attrDict.Add(attrId,attrValue);
|
| | | }
|
| | | return true;
|
| | | }
|
| | | }
|
| | | |
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDyanastyLegendColorType(int attrId,int attrValue,out int colorType)
|
| | | {
|
| | | colorType = 0;
|
| | | if(jadeDynastyLegendColorDict.ContainsKey(attrId))
|
| | | {
|
| | | var colorRanges = jadeDynastyLegendColorDict[attrId];
|
| | | foreach(var key in colorRanges.Keys)
|
| | | {
|
| | | if (attrValue <= key)
|
| | | {
|
| | | colorType = colorRanges[key];
|
| | | return true;
|
| | | }
|
| | | }
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | public bool TryGetJadeDyanastyLegendColor(int colorType,out string color)
|
| | | {
|
| | | color = string.Empty;
|
| | | return jadeDynastyColorDict.TryGetValue(colorType,out color);
|
| | | }
|
| | |
|
| | | public int GetJadeDynastyLegendValue(int attrId)
|
| | | {
|
| | | int attrValue = 0;
|
| | | jadeDynastyLegendValueDict.TryGetValue(attrId,out attrValue);
|
| | | return attrValue;
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #endregion
|
| | |
|
| | | /// <summary>
|
| | |
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.sell, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendSellQuest(ItemWinBtnType.sell, attrData); });
|
| | | }
|
| | | List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
|
| | | if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
|
| | | }
|
| | | //List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
|
| | | //if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
|
| | | //}
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | | if (attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.compose, (ItemWinBtnType, ItemAttrData) => {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.compose, (ItemWinBtnType, ItemAttrData) =>
|
| | | {
|
| | | int jumpId = 0;
|
| | | bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId, out jumpId);
|
| | | if (isUnlock)
|
| | |
| | | });
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.Type == 25 && attrData.itemConfig.Effect1 == 225)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.inlay, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.ClickInlayBtn(ItemWinBtnType.inlay, attrData.guid); });
|
| | | }
|
| | | // if (attrData.itemConfig.Type == 25 && attrData.itemConfig.Effect1 == 225)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.inlay, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.ClickInlayBtn(ItemWinBtnType.inlay, attrData.guid); });
|
| | | // }
|
| | |
|
| | | if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putAway, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutAwayQuest(ItemWinBtnType.putAway, attrData.guid); });
|
| | | }
|
| | | }
|
| | | // if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.putAway, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutAwayQuest(ItemWinBtnType.putAway, attrData.guid); });
|
| | | // }
|
| | | //}
|
| | |
|
| | | if (attrData.count > 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.split, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.OnClickSplitBtn(ItemWinBtnType.split, attrData.guid); });
|
| | | }
|
| | | //if (attrData.count > 1)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.split, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.OnClickSplitBtn(ItemWinBtnType.split, attrData.guid); });
|
| | | //}
|
| | |
|
| | | if (!isOverdue)
|
| | | {
|
| | | switch (attrData.winType)
|
| | | if (!isOverdue)
|
| | | {
|
| | | case ItemWinType.equipWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
|
| | | break;
|
| | | }
|
| | |
|
| | | if (attrData.itemConfig.UseTag == 1)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.makeUse, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, attrData.index); });
|
| | | }
|
| | | }
|
| | |
|
| | | for (int i = 0; i < ItemRenewalIds.Length; i++)
|
| | | {
|
| | | if (ItemRenewalIds[i] == attrData.itemId)
|
| | | {
|
| | | if (isOverdue)
|
| | | switch (attrData.winType)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendRenewalQuest(ItemWinBtnType.renewal, attrData.guid); });
|
| | | case ItemWinType.equipWin:
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | for (int i = 0; i < tryPutOnEquipIds.Length; i++)
|
| | | {
|
| | | if (tryPutOnEquipIds[i] == attrData.itemId)
|
| | | {
|
| | | if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
|
| | | {
|
| | | attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
|
| | | }
|
| | | //if (attrData.itemConfig.UseTag == 1)
|
| | | //{
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.makeUse, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, attrData.index); });
|
| | | //}
|
| | | }
|
| | |
|
| | | //for (int i = 0; i < ItemRenewalIds.Length; i++)
|
| | | //{
|
| | | // if (ItemRenewalIds[i] == attrData.itemId)
|
| | | // {
|
| | | // if (isOverdue)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendRenewalQuest(ItemWinBtnType.renewal, attrData.guid); });
|
| | | // }
|
| | | // }
|
| | | //}
|
| | |
|
| | | //for (int i = 0; i < tryPutOnEquipIds.Length; i++)
|
| | | //{
|
| | | // if (tryPutOnEquipIds[i] == attrData.itemId)
|
| | | // {
|
| | | // if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
|
| | | // {
|
| | | // attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
|
| | | // }
|
| | | // }
|
| | | //}
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | return s;
|
| | | }
|
| | |
|
| | | public string GetJadeDynastyAttrCntPreview(ItemAttrData attrData)
|
| | | {
|
| | | int minCount = 0;
|
| | | int maxCount = 0;
|
| | | TryGetJadeDynastyLegendCount(attrData.itemId,out minCount,out maxCount);
|
| | | string countSB = StringUtility.Contact(minCount,"-",maxCount);
|
| | | string s = Language.Get("LegendAttPreview_MightTitle", countSB);
|
| | | return s;
|
| | | }
|
| | |
|
| | | public string GetDogzLegendAttrCntPreview(ItemAttrData attrData)
|
| | | {
|
| | | string s = "";
|
| | |
| | | attrDict.Clear();
|
| | | int i = 0;
|
| | | attrSB.Length = 0;
|
| | |
|
| | | for (i = 0; i < idlist.Count; i++)
|
| | | {
|
| | | attrDict.Add(idlist[i], valuelist[i]);
|
| | | int attrId = idlist[i];
|
| | | int attrValue = valuelist[i];
|
| | | attrDict.Add(attrId,attrValue);
|
| | | }
|
| | |
|
| | | switch (itemConfig.EquipPlace)
|
| | |
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | idlist.Sort(CompareLegendAttrType);
|
| | | break;
|
| | | case 121:
|
| | | case 122:
|
| | | case 123:
|
| | |
| | | case 130:
|
| | | case 131:
|
| | | case 132:
|
| | | idlist.Sort(CompareLegendAttrType);
|
| | | idlist.Sort(CompareJadeDynastyLegendColorType);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | |
| | |
|
| | | for (i = 0; i < idlist.Count; i++)
|
| | | {
|
| | | playerProModel = Config.Instance.Get<PlayerPropertyConfig>(idlist[i]);
|
| | | if (playerProModel != null)
|
| | | var attrId = idlist[i];
|
| | | var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
| | | switch(packType)
|
| | | {
|
| | | string s = "";
|
| | | if (playerProModel.Name.Contains("%s"))
|
| | | {
|
| | | if(!isPreview)
|
| | | {
|
| | | s = playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[idlist[i]]));
|
| | | }
|
| | | else
|
| | | {
|
| | | if(itemConfig.EquipPlace != (int)RoleEquipType.retWing)
|
| | | {
|
| | | if (isCustom || itemConfig.StarLevel >= 3)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[idlist[i]])));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[idlist[i]])));
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if(isCustom)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[idlist[i]])));
|
| | | }
|
| | | else if(wingsLegendAttrCntPreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | int minValue = 0;
|
| | | int maxValue = 0;
|
| | | if(wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | if(wingsLegendAttrValuePreviewDict[itemConfig.LV].ContainsKey(idlist[i]))
|
| | | {
|
| | | List<int> attrValuelist = wingsLegendAttrValuePreviewDict[itemConfig.LV][idlist[i]];
|
| | | minValue = attrValuelist[0];
|
| | | maxValue = attrValuelist[attrValuelist.Count - 1];
|
| | | }
|
| | | }
|
| | | if(wingsLegendAttrCntPreviewDict[itemConfig.LV] > 1)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s",StringUtility.Contact("[",GetProValueTypeStr(playerProModel,minValue),"~", StringUtility.Contact(GetProValueTypeStr(playerProModel,maxValue)), "]")));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name.Replace("%s", StringUtility.Contact("[",GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)),"]")));
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | |
| | | }
|
| | | |
| | | }
|
| | | else
|
| | | {
|
| | | if(!isPreview)
|
| | | {
|
| | | s = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, attrDict[idlist[i]]);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (itemConfig.EquipPlace != (int)RoleEquipType.retWing)
|
| | | {
|
| | | if (isCustom || itemConfig.StarLevel >= 3)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name, "+", GetProValueTypeStr(playerProModel, attrDict[idlist[i]]));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name, "+", GetProValueTypeStr(playerProModel, attrDict[idlist[i]]));
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (isCustom)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name,"+", GetProValueTypeStr(playerProModel, attrDict[idlist[i]]));
|
| | | }
|
| | | else if (wingsLegendAttrCntPreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | int minValue = 0;
|
| | | int maxValue = 0;
|
| | | if (wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | if (wingsLegendAttrValuePreviewDict[itemConfig.LV].ContainsKey(idlist[i]))
|
| | | {
|
| | | List<int> attrValuelist = wingsLegendAttrValuePreviewDict[itemConfig.LV][idlist[i]];
|
| | | minValue = attrValuelist[0];
|
| | | maxValue = attrValuelist[attrValuelist.Count - 1];
|
| | | }
|
| | | }
|
| | | if (wingsLegendAttrCntPreviewDict[itemConfig.LV] > 1)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name,"[+", StringUtility.Contact(GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)),"]"));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name,"[+",StringUtility.Contact(GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)),"]"));
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | | |
| | | }
|
| | |
|
| | | switch (itemConfig.EquipPlace)
|
| | | {
|
| | | case 11:
|
| | | foreach (var key in wingsLegendAttrColorDict.Keys)
|
| | | {
|
| | | if (key == idlist[i])
|
| | | {
|
| | | foreach (var key2 in wingsLegendAttrColorDict[key].Keys)
|
| | | {
|
| | | if (attrDict[idlist[i]] < key2)
|
| | | {
|
| | | s = string.Format("<color=#{0}>{1}</color>", wingsLegendAttrColorDict[key][key2], s);
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | case 1:
|
| | | case 2:
|
| | | case 3:
|
| | | case 4:
|
| | | case 5:
|
| | | case 6:
|
| | | case 7:
|
| | | case 8:
|
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | case 121:
|
| | | case 122:
|
| | | case 123:
|
| | | case 124:
|
| | | case 125:
|
| | | case 126:
|
| | | case 127:
|
| | | case 128:
|
| | | case 129:
|
| | | case 130:
|
| | | case 131:
|
| | | case 132:
|
| | | s = GetTextColorByLegendType(GetLegendType(idlist[i]), s);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | | case 103:
|
| | | case 104:
|
| | | case 105:
|
| | | s = GetTextColorByLegendType(GetDogzLegendType(idlist[i]), s);
|
| | | break;
|
| | | }
|
| | |
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | | attrSB.Append(s);
|
| | | }
|
| | | else
|
| | | {
|
| | | attrSB.Append("\n" + s);
|
| | | }
|
| | |
|
| | | case PackType.rptJadeDynastyItem:
|
| | | SetJadeDynastyLengend(itemConfig,attrId);
|
| | | break;
|
| | | default:
|
| | | SetNormalPackLengend(itemConfig,attrId,isCustom,isPreview);
|
| | | break;
|
| | | }
|
| | | }
|
| | | return attrSB.ToString();
|
| | | }
|
| | |
|
| | | private void SetNormalPackLengend(ItemConfig itemConfig, int attrId, bool isCustom,bool isPreview)
|
| | | {
|
| | | playerProModel = Config.Instance.Get<PlayerPropertyConfig>(attrId);
|
| | | if (playerProModel != null)
|
| | | {
|
| | | string s = "";
|
| | | if (playerProModel.Name.Contains("%s"))
|
| | | {
|
| | | if (!isPreview)
|
| | | {
|
| | | s = playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[attrId]));
|
| | | }
|
| | | else
|
| | | {
|
| | | if (itemConfig.EquipPlace != (int)RoleEquipType.retWing)
|
| | | {
|
| | | if (isCustom || itemConfig.StarLevel >= 3)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[attrId])));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[attrId])));
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (isCustom)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[attrId])));
|
| | | }
|
| | | else if (wingsLegendAttrCntPreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | int minValue = 0;
|
| | | int maxValue = 0;
|
| | | if (wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | if (wingsLegendAttrValuePreviewDict[itemConfig.LV].ContainsKey(attrId))
|
| | | {
|
| | | List<int> attrValuelist = wingsLegendAttrValuePreviewDict[itemConfig.LV][attrId];
|
| | | minValue = attrValuelist[0];
|
| | | maxValue = attrValuelist[attrValuelist.Count - 1];
|
| | | }
|
| | | }
|
| | | if (wingsLegendAttrCntPreviewDict[itemConfig.LV] > 1)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name.Replace("%s", StringUtility.Contact("[", GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)), "]")));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name.Replace("%s", StringUtility.Contact("[", GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)), "]")));
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | | else
|
| | | {
|
| | | if (!isPreview)
|
| | | {
|
| | | s = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, attrDict[attrId]);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (itemConfig.EquipPlace != (int)RoleEquipType.retWing)
|
| | | {
|
| | | if (isCustom || itemConfig.StarLevel >= 3)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name, "+", GetProValueTypeStr(playerProModel, attrDict[attrId]));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name, "+", GetProValueTypeStr(playerProModel, attrDict[attrId]));
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (isCustom)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name, "+", GetProValueTypeStr(playerProModel, attrDict[attrId]));
|
| | | }
|
| | | else if (wingsLegendAttrCntPreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | int minValue = 0;
|
| | | int maxValue = 0;
|
| | | if (wingsLegendAttrValuePreviewDict.ContainsKey(itemConfig.LV))
|
| | | {
|
| | | if (wingsLegendAttrValuePreviewDict[itemConfig.LV].ContainsKey(attrId))
|
| | | {
|
| | | List<int> attrValuelist = wingsLegendAttrValuePreviewDict[itemConfig.LV][attrId];
|
| | | minValue = attrValuelist[0];
|
| | | maxValue = attrValuelist[attrValuelist.Count - 1];
|
| | | }
|
| | | }
|
| | | if (wingsLegendAttrCntPreviewDict[itemConfig.LV] > 1)
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Must"), playerProModel.Name, "[+", StringUtility.Contact(GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)), "]"));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = StringUtility.Contact(Language.Get("LegendAttPreview_Might"), playerProModel.Name, "[+", StringUtility.Contact(GetProValueTypeStr(playerProModel, minValue), "~", StringUtility.Contact(GetProValueTypeStr(playerProModel, maxValue)), "]"));
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | switch (itemConfig.EquipPlace)
|
| | | {
|
| | | case 11:
|
| | | foreach (var key in wingsLegendAttrColorDict.Keys)
|
| | | {
|
| | | if (key == attrId)
|
| | | {
|
| | | foreach (var key2 in wingsLegendAttrColorDict[key].Keys)
|
| | | {
|
| | | if (attrDict[attrId] < key2)
|
| | | {
|
| | | s = string.Format("<color=#{0}>{1}</color>", wingsLegendAttrColorDict[key][key2], s);
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | }
|
| | | }
|
| | | break;
|
| | | case 1:
|
| | | case 2:
|
| | | case 3:
|
| | | case 4:
|
| | | case 5:
|
| | | case 6:
|
| | | case 7:
|
| | | case 8:
|
| | | case 9:
|
| | | case 10:
|
| | | case 12:
|
| | | s = GetTextColorByLegendType(GetLegendType(attrId), s);
|
| | | break;
|
| | | case 101:
|
| | | case 102:
|
| | | case 103:
|
| | | case 104:
|
| | | case 105:
|
| | | s = GetTextColorByLegendType(GetDogzLegendType(attrId), s);
|
| | | break;
|
| | | }
|
| | |
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | | attrSB.Append(s);
|
| | | }
|
| | | else
|
| | | {
|
| | | attrSB.Append("\n" + s);
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | private void SetJadeDynastyLengend(ItemConfig itemConfig, int attrId)
|
| | | {
|
| | | playerProModel = Config.Instance.Get<PlayerPropertyConfig>(attrId);
|
| | | if (playerProModel != null)
|
| | | {
|
| | | string s = "";
|
| | | if (playerProModel.Name.Contains("%s"))
|
| | | {
|
| | | s = playerProModel.Name.Replace("%s", GetProValueTypeStr(playerProModel, attrDict[attrId]));
|
| | | }
|
| | | else
|
| | | {
|
| | | s = playerProModel.Name + "+" + GetProValueTypeStr(playerProModel, attrDict[attrId]);
|
| | | }
|
| | | int colorType = 0;
|
| | | TryGetJadeDyanastyLegendColorType(attrId, attrDict[attrId],out colorType);
|
| | | s = GetTextColorByColorType(colorType,s);
|
| | |
|
| | | if (attrSB.Length <= 0)
|
| | | {
|
| | | attrSB.Append(s);
|
| | | }
|
| | | else
|
| | | {
|
| | | attrSB.Append("\n" + s);
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | |
|
| | | private int CompareLegendAttrType(int start, int end)
|
| | |
| | | return 0;
|
| | | }
|
| | |
|
| | | private int CompareJadeDynastyLegendColorType(int start,int end)
|
| | | {
|
| | | int value1 = attrDict[start];
|
| | | int value2 = attrDict[end];
|
| | | int colorType1 = 0;
|
| | | int colorType2 = 0;
|
| | | TryGetJadeDyanastyLegendColorType(start,value1,out colorType1);
|
| | | TryGetJadeDyanastyLegendColorType(end,value2,out colorType2);
|
| | | if (colorType1.CompareTo(colorType2) != 0) return -colorType1.CompareTo(colorType2);
|
| | |
|
| | | return 0;
|
| | | }
|
| | |
|
| | | private int CompareDogzLegendAttrType(int start, int end)
|
| | | {
|
| | | int type1 = GetDogzLegendType(start);
|
| | | int type2 = GetDogzLegendType(end);
|
| | | if (type1.CompareTo(type2) != 0) return type1.CompareTo(type2);
|
| | | if (type1.CompareTo(type2) != 0) return -type1.CompareTo(type2);
|
| | |
|
| | | return 0;
|
| | | }
|
| | |
| | |
|
| | | }
|
| | | return msg;
|
| | | }
|
| | |
|
| | | private string GetTextColorByColorType(int colorType, string msg)
|
| | | {
|
| | | string colorSB = string.Empty;
|
| | | TryGetJadeDyanastyLegendColor(colorType,out colorSB);
|
| | | string s = StringUtility.Contact("<color=#",colorSB,">",msg, "</color>");
|
| | | return s;
|
| | | }
|
| | | #endregion
|
| | |
|
| | |
| | | SetDogzEquipLegendAttrPreview(out legendIdlist, out legendValuelist);
|
| | | break;
|
| | | }
|
| | |
|
| | | var packType = GeneralDefine.GetPackTypeByItemType(itemConfig.Type);
|
| | | switch(packType)
|
| | | {
|
| | | case PackType.rptJadeDynastyItem:
|
| | | SetJadeDynastyEquipLegendAttrPreview(out legendIdlist,out legendValuelist);
|
| | | break;
|
| | | }
|
| | |
|
| | | if(legendIdlist != null && legendValuelist != null)
|
| | | {
|
| | | if (legendIdlist.Count == legendValuelist.Count)
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | private void SetJadeDynastyEquipLegendAttrPreview(out List<int> legendIdlist, out List<int> legendValuelist)
|
| | | {
|
| | | Dictionary<int, int> attrDict = null;
|
| | | itemTipsModel.TryGetJadeDynastyLegendAttr(itemId,out attrDict);
|
| | | legendIdlist = attrDict.Keys.ToList();
|
| | | legendValuelist = attrDict.Values.ToList();
|
| | | }
|
| | |
|
| | | private StringBuilder _extraInfoBuider = new StringBuilder();
|
| | | private StringBuilder _allInfoDesBuider = new StringBuilder();
|