using System.Collections.Generic; using BlueWater.Uis; namespace BlueWater { public static class PopupUiController { public static List 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; } }