public void DrawGui(int id, GuiWindowFunction guiWindowFunc)
    {
        GUI.WindowFunction wndproc = (windowId) =>
        {
            guiWindowFunc(windowId, this);
            GUI.DragWindow(TitleBarRect);
        };

        WindowRect = GUILayout.Window(id, WindowRect, wndproc, Title);

        DrawGuiPost(id);
    }
    public void DrawGui(int id, GuiWindowFunction guiWindowFunc)
    {
        GUI.WindowFunction wndproc = (windowId) =>
        {
            guiWindowFunc(windowId, this);
            GUI.DragWindow(TitleBarRect);
        };

        WindowRect = GUILayout.Window(id, WindowRect, wndproc, Title);

        DrawGuiPost(id);
    }