using CodeStage.AntiCheat.ObscuredTypes; using System.Collections; using System.Collections.Generic; using UnityEngine; public enum eShopEvent { None, Open, FirstInapp, CafeJoin } public class ShopEventCard : MonoBehaviour { public eShopEvent m_ID; public GameObject go_get; public UISprite sprite_btn; string m_Key; List list_reward = new List(); void Awake() { switch (m_ID) { case eShopEvent.Open: // 챕터3 클리어 for (int i = 0; i < 8; i++) list_reward.Add(new ObtainItemData { m_Item = eItem.AllGambleTicket + i, m_Amount = 50 }); break; case eShopEvent.FirstInapp: // 아무거나 결제 for (int i = 0; i < 8; i++) list_reward.Add(new ObtainItemData { m_Item = eItem.AllGambleTicket + i, m_Amount = 100 }); break; case eShopEvent.CafeJoin: break; } } private void OnEnable() { switch (m_ID) { case eShopEvent.Open: // 챕터3 클리어 case eShopEvent.FirstInapp: // 아무거나 결제 go_get.SetActive(!DataCheck()); sprite_btn.spriteName = CanGet_Reward() ? "button5" : MyValue.OffButtonName; break; } } string Get_Key() { if (string.IsNullOrEmpty(m_Key)) m_Key = ((int)m_ID).ToString(); return m_Key; } public void OnClick_Button() { switch (m_ID) { case eShopEvent.Open: // 챕터3 클리어 case eShopEvent.FirstInapp: // 아무거나 결제 if (CanGet_Reward()) DataWrite(); break; case eShopEvent.CafeJoin: WebViewInfo.Ins.Show_WebView("https://cafe.naver.com/lwstory"); break; } } public bool CanGet_Reward() { switch (m_ID) { case eShopEvent.Open: // 챕터3 클리어 return DataCheck(); case eShopEvent.FirstInapp: // 아무거나 결제 return DataCheck(); } return false; } bool DataCheck() { var sdata = ServerInfo.Ins.m_ServerData; var shopevent = sdata.Event; return shopevent == null || !shopevent.ContainsKey(Get_Key()) || shopevent[Get_Key()] < 1; } void DataWrite() { var sdata = ServerInfo.Ins.m_ServerData; if (sdata.Event == null) sdata.Event = new Dictionary(); if (sdata.Event.ContainsKey(Get_Key())) sdata.Event[Get_Key()] = 1; else sdata.Event.Add(Get_Key(), 1); sdata.Event[Get_Key()].RandomizeCryptoKey(); List lst = new List(); ; for (int i = 0; i < list_reward.Count; i++) lst.AddRange(sdata.Add_Item(new ItemData(list_reward[i].m_Item, list_reward[i].m_ID, list_reward[i].m_Amount, "", eUICardType.GetItem))); GetItemUI.Ins.Set(lst); GetItemUI.Ins.Show_Items(); OnEnable(); } }