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

65 lines
2.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class EquipItemCard : CardBase
{
public GameObject go_empty;
public Image[] images; // 0 등급, 1 아이템 아이콘, 2 장비 타입
public Image[] images_enchant; // 0 ~ 1 인챈트 슬롯
public TextMeshProUGUI[] texts; // 0 레벨, 1 제련
EquipItemData m_EquipItemData;
ItemListTableData m_ItemData;
EquipmentListTableData m_Data;
public override void Set<T>(T _base)
{
base.Set(_base);
m_EquipItemData = _base as EquipItemData;
images[2].sprite = UIAtlasMgr.Ins.Get_Sprite($"chest_{m_EquipItemData.itemType.ToString().ToLower()}");
m_Data = table_equipitemlist.Ins.Get_Data_orNull(m_EquipItemData.id);
if (!DSUtil.CheckNull(m_Data))
{
m_ItemData = table_itemlist.Ins.Get_Data(m_EquipItemData.id);
go_empty.SetActive(false);
images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_ItemData.s_ItemIcon);
var smeltinglv = ServerInfo.Ins.m_ServerData.Get_SmeltingLv(m_ItemData.n_ItemID);
var slotdata = ServerInfo.Ins.m_ServerData.Get_SlotData(m_ItemData.e_ItemType);
texts[0].text = $"Lv.{slotdata.Lv}";
texts[1].text = smeltinglv.ToString();
for (int i = 0; i < slotdata.Enchant.Count; i++)
images_enchant[i].color = table_enchantgradeconfig.Ins.Get_Color(slotdata.Enchant[i].Lv);
}
else
{
go_empty.SetActive(true);
texts[0].text = "";
for (int i = 0; i < images_enchant.Length; i++)
images_enchant[i].enabled = false;
}
}
public override void Set_CardType(eUICardType _type)
{
base.Set_CardType(_type);
images[0].raycastTarget = _type != eUICardType.UIEquip;
}
public void OnClick_Card()
{
PopupMgr.Ins.m_EquipmentItemPopup.Set(m_Data);
}
}
public class EquipItemData
{
public int id;
public eItem itemType;
public string key;
}