UI/SingletonWindow.razor
@using HC3.UI
@using Sandbox.UI

@typeparam T where T : Window, new()

@inherits Window
@namespace HC3

@code
{
    public static T Current { get; private set; }

    public static void Show( Window.ScreenAlignment alignment = ScreenAlignment.BottomLeft )
    {
        if ( Current.IsValid() )
        {
            WindowManager.Instance.Open( Current );
            return;
        }

        Current = new T();
        WindowManager.Instance.Open( Current );
        Current.SetPosition( ScreenAlignment.BottomCenter );
    }
}