public void drawGUI()
{
if (shouldDrawGUI)
{
//Init info display options
if (KLFInfoDisplay.layoutOptions == null)
KLFInfoDisplay.layoutOptions = new GUILayoutOption[6];
KLFInfoDisplay.layoutOptions[0] = GUILayout.ExpandHeight(true);
KLFInfoDisplay.layoutOptions[1] = GUILayout.ExpandWidth(true);
if (KLFInfoDisplay.infoDisplayMinimized)
{
KLFInfoDisplay.layoutOptions[2] = GUILayout.MinHeight(KLFInfoDisplay.WINDOW_HEIGHT_MINIMIZED);
KLFInfoDisplay.layoutOptions[3] = GUILayout.MaxHeight(KLFInfoDisplay.WINDOW_HEIGHT_MINIMIZED);
KLFInfoDisplay.layoutOptions[4] = GUILayout.MinWidth(KLFInfoDisplay.WINDOW_WIDTH_MINIMIZED);
KLFInfoDisplay.layoutOptions[5] = GUILayout.MaxWidth(KLFInfoDisplay.WINDOW_WIDTH_MINIMIZED);
}
else
{
if (KLFGlobalSettings.instance.infoDisplayBig)
{
KLFInfoDisplay.layoutOptions[4] = GUILayout.MinWidth(KLFInfoDisplay.WINDOW_WIDTH_BIG);
KLFInfoDisplay.layoutOptions[5] = GUILayout.MaxWidth(KLFInfoDisplay.WINDOW_WIDTH_BIG);
KLFInfoDisplay.layoutOptions[2] = GUILayout.MinHeight(KLFInfoDisplay.WINDOW_HEIGHT_BIG);
KLFInfoDisplay.layoutOptions[3] = GUILayout.MaxHeight(KLFInfoDisplay.WINDOW_HEIGHT_BIG);
}
else
{
KLFInfoDisplay.layoutOptions[4] = GUILayout.MinWidth(KLFInfoDisplay.WINDOW_WIDTH_DEFAULT);
KLFInfoDisplay.layoutOptions[5] = GUILayout.MaxWidth(KLFInfoDisplay.WINDOW_WIDTH_DEFAULT);
KLFInfoDisplay.layoutOptions[2] = GUILayout.MinHeight(KLFInfoDisplay.WINDOW_HEIGHT);
KLFInfoDisplay.layoutOptions[3] = GUILayout.MaxHeight(KLFInfoDisplay.WINDOW_HEIGHT);
}
}
CheckEditorLock();
//Init chat display options
if (KLFChatDisplay.layoutOptions == null)
KLFChatDisplay.layoutOptions = new GUILayoutOption[2];
KLFChatDisplay.layoutOptions[0] = GUILayout.MinWidth(KLFChatDisplay.windowWidth);
KLFChatDisplay.layoutOptions[1] = GUILayout.MaxWidth(KLFChatDisplay.windowWidth);
//Init screenshot display options
if (KLFScreenshotDisplay.layoutOptions == null)
KLFScreenshotDisplay.layoutOptions = new GUILayoutOption[2];
KLFScreenshotDisplay.layoutOptions[0] = GUILayout.MaxHeight(KLFScreenshotDisplay.MIN_WINDOW_HEIGHT);
KLFScreenshotDisplay.layoutOptions[1] = GUILayout.MaxWidth(KLFScreenshotDisplay.MIN_WINDOW_WIDTH);
GUI.skin = HighLogic.Skin;
KLFInfoDisplay.infoWindowPos = GUILayout.Window(
999999,
KLFInfoDisplay.infoWindowPos,
infoDisplayWindow,
KLFInfoDisplay.infoDisplayMinimized ? "KLF" : "Kerbal LiveFeed v"+KLFCommon.PROGRAM_VERSION+" ("+KLFGlobalSettings.instance.guiToggleKey+")",
KLFInfoDisplay.layoutOptions
);
if (KLFScreenshotDisplay.windowEnabled)
{
KLFScreenshotDisplay.windowPos = GUILayout.Window(
999998,
KLFScreenshotDisplay.windowPos,
screenshotWindow,
"Kerbal LiveFeed Viewer",
KLFScreenshotDisplay.layoutOptions
);
}
if (KLFGlobalSettings.instance.chatWindowEnabled)
{
KLFChatDisplay.windowPos = GUILayout.Window(
999997,
KLFChatDisplay.windowPos,
chatWindow,
"Kerbal LiveFeed Chat",
KLFChatDisplay.layoutOptions
);
}
KLFInfoDisplay.infoWindowPos = enforceWindowBoundaries(KLFInfoDisplay.infoWindowPos);
KLFScreenshotDisplay.windowPos = enforceWindowBoundaries(KLFScreenshotDisplay.windowPos);
KLFChatDisplay.windowPos = enforceWindowBoundaries(KLFChatDisplay.windowPos);
}
}