54 lines
1.8 KiB
C#
54 lines
1.8 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class WaveRewardCard : CardBase
|
|
{
|
|
public TextMeshProUGUI[] texts; // 0 점수
|
|
public Slider slider_score;
|
|
public ObtainItemCard rewardCard;
|
|
public GameObject[] gos; // 0 받기 버튼
|
|
|
|
WaveRewardListTableData m_Data;
|
|
ItemSimpleData RewardData = new ItemSimpleData();
|
|
|
|
public override void Set<T>(T _base)
|
|
{
|
|
base.Set(_base);
|
|
m_Data = _base as WaveRewardListTableData;
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var rewardindex = sdata.Get_DungeonValue(eDungeon.d4_Wave, 3);
|
|
var point = sdata.Get_DungeonValue(eDungeon.d4_Wave, 2);
|
|
var beforePoint = table_waverewardlist.Ins.Get_BeforeScore(m_Data.n_Index);
|
|
|
|
gos[0].SetActive(CanGetReward());
|
|
|
|
texts[0].text = m_Data.n_Score.ToString();
|
|
slider_score.value = (float)(point - beforePoint) / (m_Data.n_Score - beforePoint);
|
|
RewardData.itemid = m_Data.n_RewardID;
|
|
RewardData.amount = m_Data.n_RewardAmount;
|
|
rewardCard.Set(RewardData);
|
|
}
|
|
|
|
bool CanGetReward()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var rewardindex = sdata.Get_DungeonValue(eDungeon.d4_Wave, 3);
|
|
if (rewardindex + 1 == m_Data.n_Index)
|
|
return sdata.Get_DungeonValue(eDungeon.d4_Wave, 2) >= m_Data.n_Score;
|
|
return false;
|
|
}
|
|
|
|
public void OnClick_Get()
|
|
{
|
|
if (CanGetReward())
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
sdata.Set_DungeonValue(eDungeon.d4_Wave, 3, m_Data.n_Index);
|
|
sdata.Add_Item(m_Data.n_RewardID, m_Data.n_RewardAmount);
|
|
ObtainItemUI.Ins.Set(new ItemSimpleData { itemid = m_Data.n_RewardID, amount = m_Data.n_RewardAmount });
|
|
WaveRewardUI.Ins.OnClick_Tab();
|
|
MapChoiceUI_Dungeon_Wave.Ins.Set_Noti();
|
|
}
|
|
}
|
|
} |