using Gs2.Unity.Util; using System; using UnityEngine; using GS2Studio.Generated.Quest; public sealed class AdventureStudioView : MonoBehaviour { [SerializeField] private QuestListHandler quests; private string message = ""; private void OnEnable() { if (quests != null) quests.Failed += ShowLoadError; } private void OnDisable() { if (quests != null) quests.Failed -= ShowLoadError; } private void ShowLoadError(Exception error) { message = "불러오지 못했습니다: " + error.GetType().Name; } private void OnGUI() { if (quests == null || Gs2GameSessionHolder.Instance == null || !Gs2GameSessionHolder.Instance.Initialized) return; GUILayout.BeginArea(new Rect(20, 100, 650, 650), GUI.skin.box); GUILayout.Label(message); if (!quests.IsLoaded) { GUILayout.Label("모험 로딩 중"); GUI.enabled = true; GUILayout.EndArea(); return; } foreach (var quest in quests.Binders) { GUILayout.Label(quest.DisplayName); } GUI.enabled = true; GUILayout.EndArea(); } }