Project_WL/Assets/ResWork/UIPrefabs/Dungeon/WaveRewardCard.cs

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