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; } }
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); }); } }