using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class RelicCard : CardBase { public Image[] images; // 0 유물, 1 bg public GameObject go_Need; // 필요 유물 갯수 (별 없을 때) public Slider slider_Need; public TextMeshProUGUI[] texts; // 0 필요 유물 갯수 (별 없을 때), 1 유물 이름 public Transform tf_starParent; public GameObject go_star; RelicListTableData m_Data; List list_star = new List(); public override void Set(T _base) { if (list_star.Count == 0) { var maxstar = table_GlobalValue.Ins.Get_Int("n_RelicMaxStar"); for (int i = 0; i < maxstar; i++) list_star.Add(DSUtil.Get_Clone(go_star, tf_starParent)); } base.Set(_base); m_Data = _base as RelicListTableData; var sdata = ServerInfo.Ins.m_ServerData; var star = sdata.Get_RelicStar(m_Data.n_RelicID); images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_RelicID); images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(star > 0 ? "pet list slot" : "slot lock 3"); texts[1].text = m_Data.Get_Name(); for (int i = 0; i < list_star.Count; i++) list_star[i].SetActive(star > i); if (star > 0) { go_Need.SetActive(false); } else { go_Need.SetActive(true); texts[0].text = $"{sdata.Get_ItemAmount(m_Data.n_RelicID)}/{m_Data.n_FirstOpenCost}"; slider_Need.value = DSUtil.Get_SliderValue((float)sdata.Get_ItemAmount(m_Data.n_RelicID) / m_Data.n_FirstOpenCost); } } public override TableDataBase Get_Data() { return m_Data; } public void OnClick_Relic() { CollectionRelicUI.Ins.Set(m_Data); } }