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