|
@@ -0,0 +1,39 @@
|
|
|
+using UnityEngine;
|
|
|
+
|
|
|
+namespace COM3D2.MeidoPhotoStudio.Plugin
|
|
|
+{
|
|
|
+ internal static class Modal
|
|
|
+ {
|
|
|
+ private static BaseWindow currentModal;
|
|
|
+ public static bool Visible
|
|
|
+ {
|
|
|
+ get => currentModal?.Visible ?? false;
|
|
|
+ set
|
|
|
+ {
|
|
|
+ if (currentModal == null) return;
|
|
|
+ currentModal.Visible = value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void Show(BaseWindow modalWindow)
|
|
|
+ {
|
|
|
+ if (currentModal != null) Close();
|
|
|
+ currentModal = modalWindow;
|
|
|
+ Visible = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void Close()
|
|
|
+ {
|
|
|
+ Visible = false;
|
|
|
+ currentModal = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void Draw()
|
|
|
+ {
|
|
|
+ GUIStyle windowStyle = new GUIStyle(GUI.skin.box);
|
|
|
+ currentModal.WindowRect = GUI.ModalWindow(
|
|
|
+ currentModal.windowID, currentModal.WindowRect, currentModal.GUIFunc, "", windowStyle
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|