Project_WL/Assets/Script/UI/Center/Chapter/LobbyChapterQuest.cs

107 lines
3.5 KiB
C#
Raw Normal View History

2024-12-15 01:39:39 +00:00
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;
// }
//}
}
}