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

95 lines
3.5 KiB
C#
Raw Normal View History

2025-07-21 05:17:32 +00:00
using System.Collections.Generic;
2024-12-15 01:39:39 +00:00
using TMPro;
2025-07-21 05:17:32 +00:00
public class EquipmentPopupItemInfoBase : uScrollViewMgr
2024-12-15 01:39:39 +00:00
{
public EquipItemCard m_Card;
2025-07-21 05:17:32 +00:00
public EquipmentStatCard m_EquipmentStatCard;
2025-02-18 03:04:10 +00:00
public TextMeshProUGUI[] texts_iteminfo; // 0 top등급, 1 top이름, 2 종류
2024-12-15 01:39:39 +00:00
protected ItemListTableData m_ItemData;
protected EquipmentListTableData m_Data;
2025-07-21 05:17:32 +00:00
protected EquipmentSlotUpgradeTableData m_ESUTD;
2024-12-15 01:39:39 +00:00
protected SD_Slot m_SD_Slot;
EquipItemData m_EquipItemData = new EquipItemData();
2025-07-21 05:17:32 +00:00
List<EquipmentStatData> list_statdata = new List<EquipmentStatData>
{ new EquipmentStatData(), new EquipmentStatData(), new EquipmentStatData(), new EquipmentStatData() };
EquipmentStatData mainstatText = new EquipmentStatData();
2024-12-15 01:39:39 +00:00
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);
2025-07-21 05:17:32 +00:00
m_ESUTD = table_equipslotupgrade.Ins.Get_Data(m_Data.e_EquipParts, m_Data.e_EquipAttribute);
2024-12-15 01:39:39 +00:00
}
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);
2024-12-22 01:07:25 +00:00
texts_iteminfo[0].text = table_itemlist.Ins.Get_GradeName(m_ItemData.n_ItemID);
2025-02-18 03:04:10 +00:00
texts_iteminfo[1].text = table_itemlist.Ins.Get_ItemName(m_ItemData.n_ItemID);
texts_iteminfo[2].text = m_ItemData.Get_ItemTypeName();
2024-12-15 01:39:39 +00:00
Set_ItemStat();
}
protected virtual void Set_ItemStat()
{
2025-07-21 05:17:32 +00:00
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);
2025-03-28 06:46:13 +00:00
}
2024-12-15 01:39:39 +00:00
2025-07-21 05:17:32 +00:00
void Set_Stat(int index, eStat stat, int abil1)
2025-03-28 06:46:13 +00:00
{
2025-07-21 05:17:32 +00:00
list_statdata[index].stat = stat;
2025-03-28 06:46:13 +00:00
if (stat != eStat.None)
2024-12-15 01:39:39 +00:00
{
2025-03-28 06:46:13 +00:00
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);
2025-07-21 05:17:32 +00:00
list_statdata[index].statvalue = abil1 + abil1 * cursmeltingdata.f_IncreaseValueRate;
list_statdata[index].nextstatvalue = abil1 + abil1 * nextsmeltingdata.f_IncreaseValueRate;
2024-12-15 01:39:39 +00:00
}
2025-07-21 05:17:32 +00:00
}
}
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));
2024-12-15 01:39:39 +00:00
else
2025-07-21 05:17:32 +00:00
return DSUtil.Format("(+{0})", MyText.Get_StatValueText(stat, cal));
2024-12-15 01:39:39 +00:00
}
}