95 lines
3.5 KiB
C#
95 lines
3.5 KiB
C#
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<EquipmentStatData> list_statdata = new List<EquipmentStatData>
|
|
{ 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));
|
|
}
|
|
} |