diff --git a/Source/Client/Windows/BootstrapConfiguratorWindow.BootstrapFlow.cs b/Source/Client/Windows/BootstrapConfiguratorWindow.BootstrapFlow.cs index 06ce0608..56c19730 100644 --- a/Source/Client/Windows/BootstrapConfiguratorWindow.BootstrapFlow.cs +++ b/Source/Client/Windows/BootstrapConfiguratorWindow.BootstrapFlow.cs @@ -178,8 +178,21 @@ public void OnBootstrapMapInitialized() bootstrapSaveQueued = false; saveUploadStatus = "Map initialized. Waiting for controllable colonists to spawn..."; - if (Find.WindowStack.WindowOfType() == null) - Find.WindowStack.Add(this); + TryShowBootstrapWindow(); + } + + private void TryShowBootstrapWindow() + { + if (Find.WindowStack == null) + return; + + if (Find.WindowStack.WindowOfType() != null) + return; + + if (Find.WindowStack.Windows.OfType().Any()) + return; + + Find.WindowStack.Add(this); } private void TickPostMapEnterSaveDelayAndMaybeSave() @@ -195,7 +208,10 @@ private void TickPostMapEnterSaveDelayAndMaybeSave() return; if (!WaitForControllableColonists()) + { + TryShowBootstrapWindow(); return; + } postMapEnterSaveDelayRemaining = 0f; bootstrapSaveQueued = true;