101 lines
3.6 KiB
C#
101 lines
3.6 KiB
C#
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>(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<ItemData> { 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<ItemData> { 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;
|
|
}
|
|
} |