using System.Collections.Generic; using UnityEngine; public class PassCard : CardBase { public UISprite[] sprites; // 0 무료, 1 패스 public UILabel[] labels; // 0 조건, 1 무료, 2 패스 public GameObject[] gos; // 0 무료 획득함, 1 패스 획득함, 2 무료 받을 수 있음, 3 패스 받을 수 있음, 4 lock PassTableData m_PassTableData; public override void Set(T _base) { base.Set(_base); m_PassTableData = _base as PassTableData; labels[0].text = Get_Condition(); labels[1].text = DSUtil.GetThousandCommaText(m_PassTableData.FreeRewardAmount); labels[2].text = DSUtil.GetThousandCommaText(m_PassTableData.PassRewardAmount); DSUtil.InActivateGameObjects(gos); var sdata = ServerInfo.Ins.m_ServerData; var aleadyget = sdata.AleadyGetPass(m_PassTableData); gos[0].SetActive(aleadyget[0]); gos[1].SetActive(aleadyget[1]); var canget = sdata.CanGetPass(m_PassTableData); gos[2].SetActive(canget[0]); gos[3].SetActive(canget[1]); gos[4].SetActive(sdata.Get_PassBuy(m_PassTableData.PassType) < 2); } string Get_Condition() { switch (m_PassTableData.PassType) { case 0: // 출석 return DSUtil.Format("{0} DAY", m_PassTableData.ConditionValue); case 1: case 2: // 레벨업 return DSUtil.Format("Lv.{0}", m_PassTableData.ConditionValue); case 3: case 4: // 스테이지 return DSUtil.Format("{0}-{1}", m_PassTableData.Chapter, m_PassTableData.ConditionValue); default: return DSUtil.Format("{0}\nKill", m_PassTableData.ConditionValue); } } public void OnClick_GetReward_Free() { var idata = Get_RewardFree(); if (idata != null) { GetItemUI.Ins.Set(new List { idata }); GetItemUI.Ins.Show_Items(); GameUI.Ins.LobbyUI.Get_PassUI().Set(); //if (m_PassTableData.PassType == 0) NewGameUI.Ins.m_GuideQuestUI.Add_GuideQuest(ePurpose.GetPass); } } public ItemData Get_RewardFree() { var sdata = ServerInfo.Ins.m_ServerData; var aleadyget = sdata.CanGetPass(m_PassTableData); if (aleadyget[0]) { sdata.Add_PassStep(m_PassTableData.PassType, true); var idata = new ItemData(m_PassTableData.FreeReward, 0, m_PassTableData.FreeRewardAmount, DSUtil.Format("pass{0}{1}", m_PassTableData.FreeReward, m_PassTableData.ID), eUICardType.GetItem); sdata.Add_Item(idata); return idata; } else return null; } public void OnClick_GetReward_Pay() { var idata = Get_RewardPay(); if (idata != null) { GetItemUI.Ins.Set(new List { idata }); GetItemUI.Ins.Show_Items(); GameUI.Ins.LobbyUI.Get_PassUI().Set(); //if (m_PassTableData.PassType == 0) NewGameUI.Ins.m_GuideQuestUI.Add_GuideQuest(ePurpose.GetPass); } } public ItemData Get_RewardPay() { var sdata = ServerInfo.Ins.m_ServerData; var aleadyget = sdata.CanGetPass(m_PassTableData); if (aleadyget[1]) { sdata.Add_PassStep(m_PassTableData.PassType, false); var idata = new ItemData(m_PassTableData.PassReward, 0, m_PassTableData.PassRewardAmount, DSUtil.Format("passpay{0}{1}", m_PassTableData.PassReward, m_PassTableData.ID), eUICardType.GetItem); sdata.Add_Item(idata); return idata; } else return null; } }