using CodeStage.AntiCheat.ObscuredTypes; using System.Collections.Generic; using TMPro; using UnityEngine.UI; public class FarmShopCard : CardBase { public Image[] images; // 0 등급, 1 아이템, 2 필요 재화 public TextMeshProUGUI[] texts; // 0 아이템 이름, 1 일일 제한, 2 무료, 3 광고 or 가격, 4 지급양 List m_Data; // 0 FarmShop ID, 1 구매 횟수, 2 남은 시간 FarmShopListTableData m_Tdata; private void Start() { Set_Repeat_for1sec(Set_Time); } void Set_Time() { switch (m_Tdata.e_ShopType) { case eShopType.AD: texts[2].text = m_Data[2] > 0 ? DSUtil.Get_TimeText_MS(m_Data[2]) : "광고(s)"; break; case eShopType.Free: texts[2].text = m_Data[2] > 0 ? DSUtil.Get_TimeText_MS(m_Data[2]) : "무료(s)"; break; } } public override void Set(T _base) { base.Set(_base); m_Data = _base as List; m_Tdata = table_farmshoplist.Ins.Get_Data(m_Data[0]); 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 = $"{m_Data[1]}/{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"); texts[2].text = "광고(s)"; break; case eShopType.Free: images[2].enabled = false; texts[2].text = "무료(s)"; 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[1] < m_Tdata.n_DayLimit && m_Data[2] <= 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_Data[0], m_Tdata.n_GapTime); ObtainItemUI.Ins.Set(new ItemSimpleData { itemid = m_Tdata.n_ItemID, amount = m_Tdata.n_ItemAmount }); FarmShopUI.Ins.Set(); } }