Project_WL/Assets/Script/UI/Center/Pass/PassCard.cs

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;
}
}