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 _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(); } } }