64 lines
2.2 KiB
C#
64 lines
2.2 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class CollectionEquipmentCard : 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>(T _base)
|
|
{
|
|
base.Set(_base);
|
|
m_Data = _base as CollectionListTableData;
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var itemData = table_itemlist.Ins.Get_Data(m_Data.n_TargetValue);
|
|
if (DSUtil.CheckNull(itemData)) return;
|
|
|
|
images[0].sprite = UIAtlasMgr.Ins.Get_GradeSprite(itemData.n_ItemGrade);
|
|
images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(itemData.n_ItemID);
|
|
|
|
texts[0].text = table_itemlist.Ins.Get_ItemName(itemData.n_ItemID);
|
|
texts[1].text = m_Data.n_RepeatRewardValue;
|
|
var amount = sdata.Get_ItemAmount(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.Check_ItemAmount(m_Data.n_TargetValue, m_Data.Get_ConditionCount(lv), showtoast);
|
|
}
|
|
|
|
public void OnClick_Card()
|
|
{
|
|
CollectionEquipmentUI.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_Item(m_Data.n_TargetValue, m_Data.Get_ConditionCount(lv));
|
|
sdata.Add_CollectionLv(m_Data.n_TargetValue);
|
|
OnClick_Card();
|
|
CollectionEquipmentUI.Ins.Set_UI();
|
|
MyValue.Get_ActorStatInfoorNull(eRole.PC);
|
|
}
|
|
}
|
|
} |