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]; 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(); 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); } }