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