using TMPro; using UnityEngine; using UnityEngine.UI; public class CollectionMonsterCard : CardBase { public Image[] images; // 0 등급, 1 아이콘 public TextMeshProUGUI[] texts; // 0 이름, 1 보유효과, 2 현재 처치/필요 처치 public Slider slider_proc; public GameObject go_getreward, go_selected; CollectionListTableData m_Data; public override void Set(T _base) { base.Set(_base); m_Data = _base as CollectionListTableData; var sdata = ServerInfo.Ins.m_ServerData; var mobData = table_monsterlist.Ins.Get_Data_orNull(m_Data.n_TargetValue); images[0].sprite = UIAtlasMgr.Ins.Get_GradeSprite(1); images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(mobData.n_MonsterID); texts[0].text = mobData.Get_Name(); texts[1].text = m_Data.n_RepeatRewardValue; var amount = sdata.Get_CollectionMobKill(m_Data.n_TargetValue); var lv = sdata.Get_CollectionLv(m_Data.n_TargetValue); var count = m_Data.Get_ConditionCount(lv); texts[2].text = $"{amount}/{count}"; slider_proc.value = DSUtil.Get_SliderValue((float)(amount / count)); go_getreward.SetActive(amount >= count); go_selected.SetActive(false); } public override TableDataBase Get_Data() { return m_Data; } bool CanGet(bool showtoast) { var sdata = ServerInfo.Ins.m_ServerData; var lv = sdata.Get_CollectionLv(m_Data.n_TargetValue); return sdata.Get_CollectionMobKill(m_Data.n_TargetValue) >= m_Data.Get_ConditionCount(lv); } public void OnClick_Card() { CollectionMonsterUI.Ins.Set_SelectCard(this); } public void OnClick_GetReward() { if (CanGet(true)) { var sdata = ServerInfo.Ins.m_ServerData; var lv = sdata.Get_CollectionLv(m_Data.n_TargetValue); sdata.Use_CollectionMobKill(m_Data.n_TargetValue, m_Data.Get_ConditionCount(lv)); sdata.Add_CollectionLv(m_Data.n_TargetValue); OnClick_Card(); CollectionMonsterUI.Ins.Set_UI(); MyValue.Get_ActorStatInfoorNull(eRole.PC); } } }