107 lines
3.5 KiB
C#
107 lines
3.5 KiB
C#
|
|
using System;
|
||
|
|
using System.Collections;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
public class LobbyChapterQuest : LobbyNonMenuBase
|
||
|
|
{
|
||
|
|
public static ChapterQuestTableData ChapterQuestData;
|
||
|
|
public static bool UseNote { get; private set; }
|
||
|
|
|
||
|
|
public Animator m_Anim;
|
||
|
|
public UISprite[] sprites; // 0 notouch
|
||
|
|
public UILabel[] labels; // 0 타이틀, 1 내용, 2 목표, 3 셔플권 개수, 4 클리어 횟수
|
||
|
|
public GameObject[] gos; // 0 주사위, 1 취소 버튼, 2 입장 버튼
|
||
|
|
public UIItemCard m_UIItemCard;
|
||
|
|
|
||
|
|
GameObject QuestObj;
|
||
|
|
Action act_ok;
|
||
|
|
|
||
|
|
public void Set_UseNote(Action _act)
|
||
|
|
{
|
||
|
|
base.Set();
|
||
|
|
DSUtil.ActivateGameObjects(gos);
|
||
|
|
act_ok = _act;
|
||
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||
|
|
//var sQdataID = sdata.Get_ChapterQuestID(sdata.Get_Common(eCommon.Chapter));
|
||
|
|
//if (sQdataID < 1)
|
||
|
|
//{
|
||
|
|
// UseNote = true;
|
||
|
|
// ClearQuest();
|
||
|
|
// ServerInfo.Ins.Write(null, false);
|
||
|
|
//}
|
||
|
|
//else
|
||
|
|
// ChapterQuestData = table_chapterquest.Ins.Get_Data(sdata.Get_Common(eCommon.Chapter), sQdataID);
|
||
|
|
Set_UI(ChapterQuestData);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void Set_ShowUseData(ChapterQuestTableData _data)
|
||
|
|
{
|
||
|
|
base.Set();
|
||
|
|
DSUtil.InActivateGameObjects(gos);
|
||
|
|
Set_UI(_data);
|
||
|
|
}
|
||
|
|
|
||
|
|
void Set_UI(ChapterQuestTableData _data)
|
||
|
|
{
|
||
|
|
sprites[0].alpha = 0.01f;
|
||
|
|
m_Anim.Play("NoteOpen");
|
||
|
|
Set_Coroutine(() => { sprites[0].alpha = 0.5f; }, 0.5f);
|
||
|
|
|
||
|
|
labels[0].text = _data.Title;
|
||
|
|
labels[1].text = _data.Desc;
|
||
|
|
labels[2].text = DSUtil.Format(_data.PurposeText, 0);
|
||
|
|
labels[3].text = ServerInfo.Ins.m_ServerData.Get_ItemAmount(eItem.ChapterQuestShuffle).ToString();
|
||
|
|
labels[4].text = DSUtil.Format("클리어 {0}회", ServerInfo.Ins.m_ServerData.Get_ChapterQuestClearCount(_data.Chapter, _data.ID));
|
||
|
|
m_UIItemCard.Set(new ItemData(_data.Reward, _data.RewardID, _data.RewardAmount, "", eUICardType.DropInfo));
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ClearQuest()
|
||
|
|
{
|
||
|
|
if (UseNote)
|
||
|
|
{
|
||
|
|
UseNote = false;
|
||
|
|
Destroy(QuestObj);
|
||
|
|
//var sdata = ServerInfo.Ins.m_ServerData;
|
||
|
|
//ChapterQuestData = table_chapterquest.Ins.Get_RandomData();
|
||
|
|
//sdata.Set_ChapterQuestID(sdata.Get_Common(eCommon.Chapter), ChapterQuestData.ID);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void OnClick_Shuffle()
|
||
|
|
{
|
||
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||
|
|
if (sdata.Check_ItemAmount(eItem.ChapterQuestShuffle, 1))
|
||
|
|
{
|
||
|
|
sdata.Use_Item(eItem.ChapterQuestShuffle);
|
||
|
|
UseNote = true;
|
||
|
|
ClearQuest();
|
||
|
|
ServerInfo.Ins.Write(() =>
|
||
|
|
{
|
||
|
|
OnClick_Back();
|
||
|
|
Set_UseNote(act_ok);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void OnClick_Enter()
|
||
|
|
{
|
||
|
|
//if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(eItem.Note, 1))
|
||
|
|
//{
|
||
|
|
// UseNote = true;
|
||
|
|
// ServerInfo.Ins.m_ServerData.Use_Item(eItem.Note, 1);
|
||
|
|
// NewGameUI.Ins.m_GuideQuestUI.Add_GuideQuest(ePurpose.QuestEnter);
|
||
|
|
// act_ok?.Invoke();
|
||
|
|
// Set_Off();
|
||
|
|
|
||
|
|
// switch (ChapterQuestData.Purpose)
|
||
|
|
// {
|
||
|
|
// case ePurpose.SaveNPC:
|
||
|
|
// case ePurpose.GetItem:
|
||
|
|
// if (!string.IsNullOrEmpty(ChapterQuestData.Prefab))
|
||
|
|
// QuestObj = DSUtil.Get_Clone(DSUtil.Format("Mobs/{0}/{1}", ChapterQuestData.Chapter, ChapterQuestData.Prefab));
|
||
|
|
// break;
|
||
|
|
// }
|
||
|
|
//}
|
||
|
|
}
|
||
|
|
}
|