private void OnCoreWindowInternal(int id) { GUILayout.BeginVertical(); string bodyName; if (FlightGlobals.ActiveVessel != null) { bodyName = FlightGlobals.ActiveVessel.mainBody.bodyName; } else { bodyName = "Kerbin"; } if (!XenoIndustrySignpost.BodyHasServer(bodyName)) { GUILayout.Label("This celestial body has no associated master server."); } else if (!XenoIndustrySignpost.IsConnected(bodyName)) { GUILayout.Label("Cannot connect to Clusterio master server!"); GUILayout.Label("Error: " + XenoIndustrySignpost.GetConnectionError(bodyName)); if (GUILayout.Button("Refresh connection")) { XenoIndustrySignpost.RefreshConnection(bodyName); } } else { // Clusterio inventory handling if (HighLogic.LoadedScene == GameScenes.SPACECENTER || HighLogic.LoadedScene == GameScenes.EDITOR || HighLogic.LoadedScene == GameScenes.TRACKSTATION || HighLogic.LoadedScene == GameScenes.FLIGHT) { GUILayout.Label("Clusterio inventory:"); if (clusterioInventory.Count > 0) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); foreach (KeyValuePair <string, int> kvPair in clusterioInventory) { GUILayout.Label(kvPair.Key + ":"); } GUILayout.EndVertical(); GUILayout.BeginVertical(); foreach (KeyValuePair <string, int> kvPair in clusterioInventory) { GUILayout.Label(kvPair.Value.ToString()); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else { GUILayout.Label("Clusterio inventory is empty."); } GUILayout.Space(8); if (GUILayout.Button("Refresh Clusterio inventory")) { StartCoroutine(XenoIndustrySignpost.GetClusterioInventory(bodyName, clusterioInventory)); } } if (debug) { if (GUILayout.Button("Add 1000 rocket component items")) { StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "low-density-structure", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "rocket-control-unit", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "solar-panel", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "uranium-238", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "accumulator", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "electric-mining-drill", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "electric-furnace", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "radar", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "processing-unit", 1000)); } if (GUILayout.Button("Add 1000 rocket fuel items")) { StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "rocket-fuel", 1000)); StartCoroutine(XenoIndustrySignpost.AddItemsToClusterio(bodyName, "explosives", 1000)); } if (GUILayout.Button("Write out CelestialBody names")) { XenoIndustrySignpost.WriteOutCelestialBodies(); } } } GUILayout.EndVertical(); // --- GUI.DragWindow(); }