63 lines
2.1 KiB
C#
63 lines
2.1 KiB
C#
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>(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);
|
|
}
|
|
}
|
|
} |