CapersProject/Assets/02.Scripts/Ui/PopupUiController.cs
Nam Tae Gun 9d4c461d07 0.3.5.0
2024-11-30 20:53:38 +09:00

68 lines
1.6 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))
{
popup.DisableInput();
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;
public static void ClearPopup()
{
PopupUis.Clear();
}
}
}