Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    /// <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);
            });
        }
    }
Ejemplo n.º 3
0
    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;
    }