Project_WL/Assets/Script/UI/Eqiupment/EquipmentPopupItemInfoBase.cs

63 lines
2.6 KiB
C#

using TMPro;
using UnityEngine.UI;
public class EquipmentPopupItemInfoBase : BackKeyAdd
{
public EquipItemCard m_Card;
public TextMeshProUGUI[] texts_iteminfo; // 0 top등급, 1 top이름, 2 종류
public TextMeshProUGUI[] texts_stat, texts_statval; // 0 ~ 2 장비 능력
public Image[] images_iteminfo; // 0 top이름bg, 1 top등급bg, 2 종류
protected ItemListTableData m_ItemData;
protected EquipmentListTableData m_Data;
protected SD_Slot m_SD_Slot;
EquipItemData m_EquipItemData = new EquipItemData();
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);
}
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();
images_iteminfo[2].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("chest_{0}", m_ItemData.e_ItemType.ToString().ToLower()));
Set_ItemStat();
}
protected virtual void Set_ItemStat()
{
Set_Stat(m_Data.e_AbilityType1, texts_stat[0], texts_statval[0], m_Data.n_AbilityValue1);
Set_Stat(m_Data.e_AbilityType2, texts_stat[1], texts_statval[1], m_Data.n_AbilityValue2);
Set_Stat(m_Data.e_AbilityType3, texts_stat[2], texts_statval[2], m_Data.n_AbilityValue3);
}
void Set_Stat(eStat stat, TextMeshProUGUI t_stat, TextMeshProUGUI t_statval, int abil1)
{
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);
var curstat = abil1 + abil1 * cursmeltingdata.f_IncreaseValueRate;
var nextstat = abil1 + abil1 * nextsmeltingdata.f_IncreaseValueRate;
t_stat.text = MyText.Get_StatName(stat);
t_statval.text = $"{NumberFormatter.FormatNumber(curstat)}<color=#fff21b>(+{NumberFormatter.FormatNumber(nextstat - curstat)})";
}
else
t_statval.text = t_stat.text = "";
}
}