150 lines
6.5 KiB
C#
150 lines
6.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class PassContent : ScrollViewMgr
|
|
{
|
|
string[] str_desc = new string[]
|
|
{
|
|
"[12e7ff]매일 출석하고 보상을 받아보세요![-]\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n28회 보상 획득 후, 다음 날 0시에 초기화됩니다.",
|
|
"[12e7ff]마녀를 성장시키고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]마녀를 성장시키고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]마녀의 여정에 따라 보상을 드립니다!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]마녀의 여정에 따라 보상을 드립니다!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]몬스터를 처치하고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]몬스터를 처치하고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]몬스터를 처치하고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
"[12e7ff]몬스터를 처치하고 보상을 받아보세요!\n[93a5bc]패스를 구매하시면 추가로 더욱 많은 보상을 받을 수 있어요.\n초기화되지 않는 패스입니다.",
|
|
};
|
|
|
|
public AllPassUI m_AllPassUI;
|
|
public UILabel[] labels; // 0 마일리지, 1 가격, 2 desc, 3 현재 값, 4 패스이름
|
|
public GameObject[] gos; // 0 구매 버튼, 1 우편함 확인, 2 구매 완료, 3 패스lock, 4 올패스
|
|
public UISprite[] sprites; // 0 1 패스 아이콘
|
|
|
|
int curPassType = -1;
|
|
|
|
private void OnEnable()
|
|
{
|
|
Set();
|
|
m_AllPassUI.Check();
|
|
}
|
|
|
|
public override void Set()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var passtype = GameUI.Ins.LobbyUI.Get_PassUI().CurTab;
|
|
var shopdata = table_shop.Ins.Get_Data(eItem.Pass, passtype);
|
|
var lst = table_pass.Ins.Get_DataList(passtype);
|
|
Set_ScrollView(lst, true);
|
|
Set_Coroutine(() =>
|
|
{
|
|
var step = sdata.Get_PassStep(passtype, sdata.Get_PassBuy(passtype) < 2);
|
|
if (step > lst.Count - 7)
|
|
m_scrollview.SetDragAmount(1f, 0f, false);
|
|
else
|
|
m_scrollview.SetDragAmount(step / (float)lst.Count, 0f, false);
|
|
|
|
}, Time.deltaTime);
|
|
|
|
curPassType = passtype;
|
|
labels[0].text = DSUtil.Format("+{0}", shopdata.Mileage);
|
|
var price = InappInfo.Ins.Get_Price_orNull(shopdata.InappID);
|
|
if (string.IsNullOrEmpty(price))
|
|
{
|
|
labels[1].text = "구매 불가";
|
|
gos[0].SetActive(false);
|
|
}
|
|
else
|
|
labels[1].text = price;
|
|
labels[2].text = str_desc[passtype];
|
|
sprites[0].spriteName = sprites[1].spriteName = DSUtil.Get_ItemSpriteInfo(eItem.Pass, passtype).Icon;
|
|
switch (passtype)
|
|
{
|
|
case 0:
|
|
labels[3].text = DSUtil.Format("출석중\n{0}일", sdata.Get_PassStep(passtype, true));
|
|
labels[4].text = "출석패스";
|
|
sprites[2].color = new Color32(0, 216, 255, 255);
|
|
break;
|
|
case 1:
|
|
case 2:
|
|
labels[3].text = DSUtil.Format("Level\n{0}", sdata.PC.Lv);
|
|
labels[4].text = "레벨패스";
|
|
sprites[2].color = new Color32(244, 90, 180, 255);
|
|
break;
|
|
case 3:
|
|
case 4:
|
|
//labels[3].text = DSUtil.Format("{0}-{1}", sdata.Get_Common(eCommon.MaxMapID), sdata.Get_Common(eCommon.MaxStage));
|
|
labels[4].text = "스테이지패스";
|
|
sprites[2].color = new Color32(13, 210, 94, 255);
|
|
break;
|
|
default:
|
|
//labels[3].text = DSUtil.Format("몬스터 처치\n{0}", sdata.Get_MissionCount(MyValue.arr_Mission[1], 1));
|
|
labels[4].text = "몬스터패스";
|
|
sprites[2].color = new Color32(255, 230, 50, 255);
|
|
break;
|
|
}
|
|
|
|
var passbuy = sdata.Get_PassBuy(passtype);
|
|
gos[0].SetActive(passbuy == 0);
|
|
gos[1].SetActive(passbuy == 1);
|
|
gos[2].SetActive(passbuy >= 2);
|
|
gos[3].SetActive(passbuy < 2);
|
|
gos[4].SetActive(sdata.IsNohavePass());
|
|
sprites[1].gameObject.SetActive(passbuy >= 2);
|
|
|
|
GameUI.Ins.LobbyUI.Get_PassUI().Set_Noti();
|
|
}
|
|
|
|
public void OnClick_GetAllReward()
|
|
{
|
|
var lst = new List<ItemData>();
|
|
for (int i = 0; i < list_CardBase.Count; i++)
|
|
{
|
|
var temp = list_CardBase[i] as PassCard;
|
|
var idata = temp.Get_RewardFree();
|
|
if (idata != null) lst.Add(idata);
|
|
idata = temp.Get_RewardPay();
|
|
if (idata != null) lst.Add(idata);
|
|
}
|
|
if (lst.Count > 0)
|
|
{
|
|
GetItemUI.Ins.Set(lst);
|
|
GetItemUI.Ins.Show_Items();
|
|
Set();
|
|
//if (GameUI.Ins.LobbyUI.Get_PassUI().CurTab == 0) NewGameUI.Ins.m_GuideQuestUI.Add_GuideQuest(ePurpose.GetPass);
|
|
}
|
|
}
|
|
|
|
public void OnClick_AllPass()
|
|
{
|
|
if (ServerInfo.Ins.m_ServerData.IsNohavePass())
|
|
m_AllPassUI.Set(null);
|
|
}
|
|
|
|
public void OnClick_Buy()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
if (sdata.IsNohavePass())
|
|
m_AllPassUI.Set(Buy);
|
|
else
|
|
Buy();
|
|
}
|
|
void Buy()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
var passtype = GameUI.Ins.LobbyUI.Get_PassUI().CurTab;
|
|
if (sdata.Get_PassBuy(passtype) == 0)
|
|
{
|
|
var shopdata = table_shop.Ins.Get_Data(eItem.Pass, passtype);
|
|
NetWait.Ins.Set(true);
|
|
InappInfo.Ins.Buy_InappItem(shopdata.InappID, () =>
|
|
{
|
|
NetWait.Ins.Set(false);
|
|
Set();
|
|
});
|
|
}
|
|
else
|
|
ToastUI.Ins.Set(23);
|
|
}
|
|
} |