private EquipUpgradeViewManager.EquipUpgradeViewData GetViewdata(ItemEquipment m_equip) { EquipUpgradeViewManager.EquipUpgradeViewData viewData = new EquipUpgradeViewManager.EquipUpgradeViewData(); viewData.oldEquipId = m_equip.templateId; ItemEffectData itemEffect = ItemEffectData.dataMap.Get(m_equip.effectId); ItemEquipmentData newEquip = null; foreach (int id in itemEffect.reward1.Keys) { newEquip = ItemEquipmentData.dataMap.Get(id); viewData.newEquipId = newEquip.id; break; } viewData.materialIdList = new List <int>(); viewData.materilNumStrList = new List <string>(); foreach (KeyValuePair <int, int> pair in itemEffect.costId) { Mogo.Util.LoggerHelper.Debug(pair.Key); ItemParentData item = ItemParentData.GetItem(pair.Key); if (item.itemType > 0) { viewData.materialIdList.Add(item.id); string numStr = string.Empty; int num = InventoryManager.Instance.GetItemNumByIdAndType(item.id, item.itemType); int needNum = pair.Value; numStr = string.Concat(num, "/", needNum); if (needNum > num) { numStr = MogoUtils.GetRedString(numStr); } viewData.materilNumStrList.Add(numStr); } else { viewData.needGold = "X" + pair.Value; } } int level = MogoWorld.thePlayer.level; viewData.power = LanguageData.GetContent(190000, newEquip.GetScore(level) - m_equip.GetScore(level)); return(viewData); }
/// <summary> /// 统计可以推荐的装备列表数据 /// </summary> private void CalEquipRecommendGridDataList() { m_equipRecommendGridDataList.Clear(); EquipRecommendData xmlData = EquipRecommendData.GetEquipRecommendData((int)MogoWorld.thePlayer.vocation, (int)MogoWorld.thePlayer.level); Dictionary <int, ItemEquipment> EquipOnDic = InventoryManager.Instance.EquipOnDic; if (xmlData != null) { for (int equipSlot = 1; equipSlot <= InventoryManager.SLOT_NUM; equipSlot++) { ItemEquipment itemEquipment = null; int recommendScore = GetEquipRecommendScoreBySlot(xmlData, equipSlot); int currentScore = 0; if (EquipOnDic.ContainsKey(equipSlot)) { itemEquipment = EquipOnDic[equipSlot]; currentScore = itemEquipment.GetScore(MogoWorld.thePlayer.level); } // 如果当前装备评分小于推荐装备评分,加入列表(若角色所穿装备评分<推荐装备评分,显示在推荐列表里;否则不显示) if (currentScore < recommendScore) { EquipRecommendGridData gridData = new EquipRecommendGridData(); gridData.equipSlot = equipSlot; gridData.access = GetEquipRecommendAccessBySlot(xmlData, equipSlot); gridData.accessType = GetEquipRecommendAccessTypeBySlot(xmlData, equipSlot); gridData.recommendEquipID = GetEquipRecommendGoodIDBySlot(xmlData, equipSlot); gridData.currentItemEquipment = itemEquipment; m_equipRecommendGridDataList.Add(gridData); } } } if (EquipRecommendUIViewManager.Instance != null) { EquipRecommendUIViewManager.Instance.SetEquipRecommendList(m_equipRecommendGridDataList.Count, () => { EquipRecommendUIViewManager.Instance.SetEquipRecommendDataList(m_equipRecommendGridDataList); }); } }
private EquipUpgradeViewManager.EquipUpgradeViewData GetViewdata(ItemEquipment m_equip) { EquipUpgradeViewManager.EquipUpgradeViewData viewData = new EquipUpgradeViewManager.EquipUpgradeViewData(); viewData.oldEquipId = m_equip.templateId; ItemEffectData itemEffect = ItemEffectData.dataMap.Get(m_equip.effectId); ItemEquipmentData newEquip = null; foreach (int id in itemEffect.reward1.Keys) { newEquip = ItemEquipmentData.dataMap.Get(id); viewData.newEquipId = newEquip.id; break; } viewData.materialIdList = new List<int>(); viewData.materilNumStrList = new List<string>(); foreach (KeyValuePair<int, int> pair in itemEffect.costId) { Mogo.Util.LoggerHelper.Debug(pair.Key); ItemParentData item = ItemParentData.GetItem(pair.Key); if (item.itemType > 0) { viewData.materialIdList.Add(item.id); string numStr = string.Empty; int num = InventoryManager.Instance.GetItemNumByIdAndType(item.id, item.itemType); int needNum = pair.Value; numStr = string.Concat(num, "/", needNum); if (needNum > num) { numStr = MogoUtils.GetRedString(numStr); } viewData.materilNumStrList.Add(numStr); } else { viewData.needGold = "X" + pair.Value; } } int level = MogoWorld.thePlayer.level; viewData.power = LanguageData.GetContent(190000, newEquip.GetScore(level) - m_equip.GetScore(level)); return viewData; }