Ejemplo n.º 1
0
    public static void GetIconShowData(REWARD_TYPE reward_type, uint id, out int icon_id, out ITEM_ICON_TYPE icon_type, out RARITY_TYPE?rarity, out ELEMENT_TYPE element, out EQUIPMENT_TYPE?magi_enable_icon_type, out int enemy_icon_id, out int enemy_icon_id2, out GET_TYPE getType, int exceed_cnt = 0)
    {
        icon_type             = ITEM_ICON_TYPE.NONE;
        icon_id               = -1;
        rarity                = null;
        element               = ELEMENT_TYPE.MAX;
        magi_enable_icon_type = null;
        enemy_icon_id         = 0;
        enemy_icon_id2        = 0;
        getType               = GET_TYPE.PAY;
        switch (reward_type)
        {
        case REWARD_TYPE.CRYSTAL:
            icon_id   = 1;
            icon_type = ITEM_ICON_TYPE.CRYSTAL;
            break;

        case REWARD_TYPE.MONEY:
            icon_id = 2;
            break;

        case REWARD_TYPE.EXP:
            icon_id = 3;
            break;

        case REWARD_TYPE.ITEM:
        case REWARD_TYPE.ABILITY_ITEM:
        {
            ItemTable.ItemData itemData = Singleton <ItemTable> .I.GetItemData(id);

            if (itemData != null)
            {
                icon_type      = ((itemData.type != ITEM_TYPE.USE_ITEM) ? ITEM_ICON_TYPE.ITEM : ITEM_ICON_TYPE.USE_ITEM);
                icon_id        = itemData.iconID;
                rarity         = itemData.rarity;
                enemy_icon_id  = itemData.enemyIconID;
                enemy_icon_id2 = itemData.enemyIconID2;
            }
            break;
        }

        case REWARD_TYPE.EQUIP_ITEM:
        {
            EquipItemTable.EquipItemData equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData(id);

            if (equipItemData != null)
            {
                icon_type = GetItemIconType(equipItemData.type);
                icon_id   = equipItemData.GetIconID(MonoBehaviourSingleton <UserInfoManager> .I.userStatus.sex);
                rarity    = equipItemData.rarity;
                element   = equipItemData.GetTargetElementPriorityToTable();
                getType   = equipItemData.getType;
            }
            break;
        }

        case REWARD_TYPE.SKILL_ITEM:
        {
            SkillItemTable.SkillItemData skillItemData = Singleton <SkillItemTable> .I.GetSkillItemData(id);

            if (skillItemData != null)
            {
                icon_type             = GetItemIconType(skillItemData.type);
                icon_id               = skillItemData.iconID;
                rarity                = skillItemData.rarity;
                element               = skillItemData.skillAtkType;
                magi_enable_icon_type = skillItemData.GetEnableEquipType();
            }
            break;
        }

        case REWARD_TYPE.QUEST_ITEM:
        {
            QuestTable.QuestTableData questData = Singleton <QuestTable> .I.GetQuestData(id);

            if (questData != null)
            {
                icon_type = GetItemIconType(questData.questType);
                EnemyTable.EnemyData enemyData = Singleton <EnemyTable> .I.GetEnemyData((uint)questData.GetMainEnemyID());

                icon_id = enemyData.iconId;
                rarity  = questData.rarity;
                element = enemyData.element;
            }
            break;
        }

        case REWARD_TYPE.AVATAR:
        case REWARD_TYPE.COMMON:
            icon_type = ITEM_ICON_TYPE.COMMON;
            icon_id   = (int)id;
            break;

        case REWARD_TYPE.STAMP:
            icon_type = ITEM_ICON_TYPE.STAMP;
            icon_id   = (int)id;
            break;

        case REWARD_TYPE.DEGREE:
            icon_type = ITEM_ICON_TYPE.DEGREE;
            icon_id   = (int)id;
            break;

        case REWARD_TYPE.POINT_SHOP_POINT:
            icon_type = ITEM_ICON_TYPE.POINT_SHOP_ICON;
            icon_id   = (int)id;
            break;
        }
    }
Ejemplo n.º 2
0
    public override void UpdateUI()
    {
        if (reward == null)
        {
            SetActive((Enum)UI.OBJ_FRAME, false);
        }
        else
        {
            SetFullScreenButton((Enum)UI.BTN_CENTER);
            SetActive((Enum)UI.OBJ_FRAME, true);
            SetLabelText((Enum)UI.LBL_GOLD, reward.money.ToString("N0"));
            SetLabelText((Enum)UI.LBL_CRYSTAL, reward.crystal.ToString("N0"));
            SetLabelText((Enum)UI.LBL_EXP, reward.exp.ToString("N0"));
            int          num  = (reward.crystal > 0) ? 1 : 0;
            int          num2 = reward.item.Count + reward.equipItem.Count + reward.skillItem.Count + num;
            int          num3 = num + reward.item.Count;
            int          num4 = num + reward.item.Count + reward.equipItem.Count;
            RewardData[] data = new RewardData[num2];
            int          j    = 0;
            for (int num5 = num2; j < num5; j++)
            {
                data[j] = default(RewardData);
                if (j < num)
                {
                    data[j].reward_type            = REWARD_TYPE.CRYSTAL;
                    data[j].icon_type              = ITEM_ICON_TYPE.NONE;
                    data[j].icon_id                = 1;
                    data[j].item_id                = 0u;
                    data[j].rarity                 = null;
                    data[j].element                = ELEMENT_TYPE.MAX;
                    data[j].magi_enable_equip_type = null;
                    data[j].num            = reward.crystal;
                    data[j].enemy_icon_id  = 0;
                    data[j].enemy_icon_id2 = 0;
                    data[j].getType        = GET_TYPE.PAY;
                }
                else if (j < num3)
                {
                    int index = j - num;
                    QuestCompleteReward.Item item     = reward.item[index];
                    ItemTable.ItemData       itemData = Singleton <ItemTable> .I.GetItemData((uint)item.itemId);

                    data[j].reward_type            = REWARD_TYPE.ITEM;
                    data[j].icon_type              = ItemIcon.GetItemIconType(itemData.type);
                    data[j].icon_id                = itemData.iconID;
                    data[j].item_id                = itemData.id;
                    data[j].rarity                 = itemData.rarity;
                    data[j].element                = ELEMENT_TYPE.MAX;
                    data[j].magi_enable_equip_type = null;
                    data[j].num            = item.num;
                    data[j].enemy_icon_id  = itemData.enemyIconID;
                    data[j].enemy_icon_id2 = itemData.enemyIconID2;
                    data[j].getType        = GET_TYPE.PAY;
                }
                else if (j < num4)
                {
                    int index2 = j - num3;
                    QuestCompleteReward.EquipItem equipItem     = reward.equipItem[index2];
                    EquipItemTable.EquipItemData  equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData((uint)equipItem.equipItemId);

                    data[j].reward_type            = REWARD_TYPE.EQUIP_ITEM;
                    data[j].icon_type              = ItemIcon.GetItemIconType(equipItemData.type);
                    data[j].icon_id                = equipItemData.GetIconID(MonoBehaviourSingleton <UserInfoManager> .I.userStatus.sex);
                    data[j].item_id                = equipItemData.id;
                    data[j].rarity                 = equipItemData.rarity;
                    data[j].element                = equipItemData.GetTargetElementPriorityToTable();
                    data[j].magi_enable_equip_type = null;
                    data[j].num            = ((equipItem.num != 1) ? equipItem.num : (-1));
                    data[j].enemy_icon_id  = 0;
                    data[j].enemy_icon_id2 = 0;
                    data[j].getType        = equipItemData.getType;
                }
                else
                {
                    int index3 = j - num4;
                    QuestCompleteReward.SkillItem skillItem     = reward.skillItem[index3];
                    SkillItemTable.SkillItemData  skillItemData = Singleton <SkillItemTable> .I.GetSkillItemData((uint)skillItem.skillItemId);

                    data[j].reward_type            = REWARD_TYPE.SKILL_ITEM;
                    data[j].icon_type              = ItemIcon.GetItemIconType(skillItemData.type);
                    data[j].icon_id                = skillItemData.iconID;
                    data[j].item_id                = skillItemData.id;
                    data[j].rarity                 = skillItemData.rarity;
                    data[j].element                = ELEMENT_TYPE.MAX;
                    data[j].magi_enable_equip_type = skillItemData.GetEnableEquipType();
                    data[j].num            = ((skillItem.num != 1) ? skillItem.num : (-1));
                    data[j].enemy_icon_id  = 0;
                    data[j].enemy_icon_id2 = 0;
                    data[j].getType        = GET_TYPE.PAY;
                }
            }
            SetGrid(UI.GRD_ICON, string.Empty, num2, false, delegate(int i, Transform t, bool is_recycle)
            {
                ItemIcon itemIcon = ItemIcon.Create(data[i].icon_type, data[i].icon_id, data[i].rarity, t, data[i].element, data[i].magi_enable_equip_type, data[i].num, "REWARD", i, false, -1, false, null, false, data[i].enemy_icon_id, data[i].enemy_icon_id2, false, data[i].getType);
                SetMaterialInfo(itemIcon.transform, data[i].reward_type, data[i].item_id, null);
            });
        }
    }