using System.Collections.Generic; using TMPro; public class EquipmentPopupItemInfoBase : uScrollViewMgr { public EquipItemCard m_Card; public EquipmentStatCard m_EquipmentStatCard; public TextMeshProUGUI[] texts_iteminfo; // 0 top등급, 1 top이름, 2 종류 protected ItemListTableData m_ItemData; protected EquipmentListTableData m_Data; protected EquipmentSlotUpgradeTableData m_ESUTD; protected SD_Slot m_SD_Slot; EquipItemData m_EquipItemData = new EquipItemData(); List list_statdata = new List { new EquipmentStatData(), new EquipmentStatData(), new EquipmentStatData(), new EquipmentStatData() }; EquipmentStatData mainstatText = new EquipmentStatData(); public virtual void Set(EquipmentListTableData data) { base.Set(); m_Data = data; m_ItemData = table_itemlist.Ins.Get_Data(m_Data.n_EquipID); m_SD_Slot = ServerInfo.Ins.m_ServerData.Get_SlotData(m_Data.e_EquipParts); m_ESUTD = table_equipslotupgrade.Ins.Get_Data(m_Data.e_EquipParts, m_Data.e_EquipAttribute); } protected virtual void Set_ItemInfo() { m_EquipItemData.id = m_Data.n_EquipID; m_EquipItemData.itemType = m_ItemData.e_ItemType; m_Card.Set(m_EquipItemData); m_Card.Set_CardType(eUICardType.UIEquip); texts_iteminfo[0].text = table_itemlist.Ins.Get_GradeName(m_ItemData.n_ItemID); texts_iteminfo[1].text = table_itemlist.Ins.Get_ItemName(m_ItemData.n_ItemID); texts_iteminfo[2].text = m_ItemData.Get_ItemTypeName(); Set_ItemStat(); } protected virtual void Set_ItemStat() { Set_Stat(0, m_Data.e_AbilityType1, m_Data.n_AbilityValue1); Set_Stat(1, m_Data.e_AbilityType2, m_Data.n_AbilityValue2); Set_Stat(2, m_Data.e_AbilityType3, m_Data.n_AbilityValue3); list_statdata[3].NoStat = true; list_statdata[3].stat = eStat.None; list_statdata[3].statvalue = m_ESUTD.Get_MainStatValue(m_SD_Slot.Lv); list_statdata[3].nextstatvalue = m_ESUTD.Get_MainStatValue(m_SD_Slot.Lv + 1); Set_ScrollView(list_statdata); mainstatText.stat = m_ESUTD.e_OptionType; mainstatText.statvalue = m_ESUTD.Get_MainStatValue(m_SD_Slot.Lv); mainstatText.nextstatvalue = m_ESUTD.Get_MainStatValue(m_SD_Slot.Lv + 1); m_EquipmentStatCard.Set(mainstatText); } void Set_Stat(int index, eStat stat, int abil1) { list_statdata[index].stat = stat; if (stat != eStat.None) { var smeltinglv = ServerInfo.Ins.m_ServerData.Get_SmeltingLv(m_Data.n_EquipID); var cursmeltingdata = table_equipsmelting.Ins.Get_Data(smeltinglv); var nextsmeltingdata = table_equipsmelting.Ins.Get_Data(smeltinglv + 1); list_statdata[index].statvalue = abil1 + abil1 * cursmeltingdata.f_IncreaseValueRate; list_statdata[index].nextstatvalue = abil1 + abil1 * nextsmeltingdata.f_IncreaseValueRate; } } } public class EquipmentStatData { public bool NoStat = false; public eStat stat; public float statvalue, nextstatvalue; public string Get_ValueText() { if (NoStat) return DSUtil.Format("{0}%", statvalue); return MyText.Get_StatValueText(stat, statvalue); } public string Get_AddValueText() { var cal = nextstatvalue - statvalue; if (NoStat) return DSUtil.Format("(+{0}%)", MyText.Get_StatValueText(stat, cal)); else return DSUtil.Format("(+{0})", MyText.Get_StatValueText(stat, cal)); } }