CapersProject/Assets/02.Scripts/Ui/PopupUiController.cs
2024-11-17 13:29:57 +09:00

62 lines
1.5 KiB
C#

using System.Collections.Generic;
using BlueWater.Uis;
namespace BlueWater
{
public static class PopupUiController
{
public static List<PopupUi> PopupUis { get; private set; } = new();
// Popup 등록
public static void RegisterPopup(PopupUi popup)
{
if (!PopupUis.Contains(popup))
{
foreach (var element in PopupUis)
{
element.DisableInput();
}
PopupUis.Add(popup);
popup.EnableInput();
}
}
// Popup 해제
public static void UnregisterPopup(PopupUi popup)
{
if (PopupUis.Contains(popup))
{
PopupUis.Remove(popup);
if (PopupUis.Count > 0)
{
PopupUis[^1].EnableInput();
}
}
}
// 마지막 Popup 닫기
public static void CloseLastPopup()
{
if (PopupUis.Count <= 0) return;
PopupUis[^1].Close();
}
// 모든 Popup 닫기
public static void CloseAllPopup()
{
foreach (var element in PopupUis)
{
if (!element.IsOpened) continue;
element.Close();
}
}
// Popup 목록이 비어 있는지 확인
public static bool IsPopupListEmpty() => PopupUis.Count == 0;
}
}