Project_WL/Assets/Script/UI/Farm/FarmShopCard.cs

84 lines
3.1 KiB
C#

using TMPro;
using UnityEngine.UI;
public class FarmShopCard : CardBase
{
public Image[] images; // 0 등급(null), 1 아이템, 2 필요 재화
public TextMeshProUGUI[] texts; // 0 아이템 이름, 1 일일 제한, 2 무료, 3 광고 or 가격, 4 지급양
int m_FarmShopID;
SD_FarmShop m_Data;
FarmShopListTableData m_Tdata;
void Set_Time()
{
switch (m_Tdata.e_ShopType)
{
case eShopType.AD: texts[2].text = m_Data.Get_RemainTime() > 0 ? DSUtil.Get_TimeText_MS(m_Data.Get_RemainTime()) : table_localtext.Ins.Get_Text(387); break;
case eShopType.Free: texts[2].text = m_Data.Get_RemainTime() > 0 ? DSUtil.Get_TimeText_MS(m_Data.Get_RemainTime()) : table_localtext.Ins.Get_Text(433); break;
}
}
public override void Set<T>(T _base)
{
base.Set(_base);
Set_Repeat_for1sec(Set_Time);
var sdata = ServerInfo.Ins.m_ServerData;
m_FarmShopID = int.Parse(_base.ToString());
m_Data = sdata.Get_FarmShopData(m_FarmShopID);
m_Tdata = table_farmshoplist.Ins.Get_Data(m_FarmShopID);
var itemData = table_itemlist.Ins.Get_Data(m_Tdata.n_ItemID);
//images[0].sprite = itemData.Get_GradeSprite();
images[1].sprite = itemData.Get_IconSprite();
images[2].enabled = true;
texts[0].text = table_itemlist.Ins.Get_ItemName(itemData.n_ItemID);
texts[1].text = DSUtil.Format(392, m_Data.Buy, m_Tdata.n_DayLimit);
texts[2].text = texts[3].text = "";
texts[4].text = m_Tdata.n_ItemAmount.ToString();
switch (m_Tdata.e_ShopType)
{
case eShopType.AD:
images[2].sprite = UIAtlasMgr.Ins.Get_Sprite("icon_ad");
break;
case eShopType.Free:
images[2].enabled = false;
break;
case eShopType.Pay:
images[2].sprite = table_itemlist.Ins.Get_Data(m_Tdata.n_PayItemID).Get_IconSprite();
texts[2].text = m_Tdata.n_PayItemAmount.ToString();
break;
}
Set_Time();
}
public void OnClick_Buy()
{
if (m_Data.Buy < m_Tdata.n_DayLimit && m_Data.Get_RemainTime() <= 0)
{
switch (m_Tdata.e_ShopType)
{
case eShopType.AD: ADInfo.Ins.Show_AD(BuySuccess); break;
case eShopType.Free: BuySuccess(); break;
case eShopType.Pay:
var sdata = ServerInfo.Ins.m_ServerData;
if (sdata.Check_ItemAmount(m_Tdata.n_PayItemID, m_Tdata.n_PayItemAmount))
{
sdata.Use_Item(m_Tdata.n_PayItemID, m_Tdata.n_PayItemAmount);
BuySuccess();
}
break;
}
}
}
void BuySuccess()
{
var sdata = ServerInfo.Ins.m_ServerData;
sdata.Add_Item(m_Tdata.n_ItemID, m_Tdata.n_ItemAmount);
sdata.Buy_FarmShopItem(m_FarmShopID, m_Tdata.n_GapTime);
ObtainItemUI.Ins.Set(new ItemSimpleData { itemid = m_Tdata.n_ItemID, amount = m_Tdata.n_ItemAmount });
FarmShopUI.Ins.Set();
}
}