Files
beyond/Assets/Scripts/UI/KnowledgeMenuController.cs
2024-11-20 15:21:28 +01:00

73 lines
2.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Beyond
{
public class KnowledgeMenuController : MonoBehaviour
{
[SerializeField] private MenuScroll menuScroll;
[SerializeField]
private SimpleSubtypeMenuController quantaSubtypeMenuController;
[SerializeField]
private SimpleSubtypeMenuController bestiarySubtypeMenuController;
[SerializeField] private ChroniclesMenuController chroniclesMenuController;
[SerializeField]
private SubmenuElementsContainer quantaSubmenuContainer;
[SerializeField]
private SubmenuElementsContainer bestiarySubmenuContainer;
[SerializeField]
private SubmenuElementsContainer chroniclesSubmenuContainer;
[SerializeField]
private SubmenuElementsContainer menuSelectorSubmenuContainer;
private SubmenuElementsContainer currentSubmenuContainer;
public void OpenQuanta()
{
currentSubmenuContainer = quantaSubmenuContainer;
menuScroll.OnOpened += quantaSubtypeMenuController.RefreshWindow;
StartCoroutine(menuScroll.ChangeVisibleCanvaCoroutine(menuSelectorSubmenuContainer, currentSubmenuContainer));
quantaSubtypeMenuController.RefreshWindow();
}
private void OnDestroy()
{
if (menuScroll)
{
menuScroll.OnOpened -= quantaSubtypeMenuController.RefreshWindow;
}
}
public void OpenBestiary()
{
currentSubmenuContainer = bestiarySubmenuContainer;
menuScroll.OnOpened += bestiarySubtypeMenuController.RefreshWindow;
StartCoroutine(menuScroll.ChangeVisibleCanvaCoroutine(menuSelectorSubmenuContainer, currentSubmenuContainer));
bestiarySubtypeMenuController.RefreshWindow();
}
public void OpenChronicles()
{
currentSubmenuContainer = chroniclesSubmenuContainer;
StartCoroutine(menuScroll.ChangeVisibleCanvaCoroutine(menuSelectorSubmenuContainer, currentSubmenuContainer));
chroniclesMenuController.OpenChronicles();
}
public void OpenSelector()
{
menuScroll.OnOpened -= quantaSubtypeMenuController.RefreshWindow;
menuScroll.OnOpened -= bestiarySubtypeMenuController.RefreshWindow;
StartCoroutine(menuScroll.ChangeVisibleCanvaCoroutine(currentSubmenuContainer, menuSelectorSubmenuContainer));
}
}
}