From 073a00a2f4eed2585db84d73e28e5235f5dc8292 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sat, 18 Feb 2017 11:27:45 +0000 Subject: [PATCH] Use mod switching for settings menu restart. --- OpenRA.Mods.Common/Widgets/Logic/SettingsLogic.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/SettingsLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/SettingsLogic.cs index b28c1d141c..505d0647d2 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/SettingsLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/SettingsLogic.cs @@ -74,13 +74,21 @@ namespace OpenRA.Mods.Common.Widgets.Logic OriginalGraphicsWindowedSize != current.Graphics.WindowedSize || OriginalGraphicsFullscreenSize != current.Graphics.FullscreenSize || OriginalServerDiscoverNatDevices != current.Server.DiscoverNatDevices) + { + Action restart = () => + { + var external = Game.ExternalMods[ExternalMod.MakeKey(Game.ModData.Manifest)]; + Game.SwitchToExternalMod(external, null, closeAndExit); + }; + ConfirmationDialogs.ButtonPrompt( title: "Restart Now?", text: "Some changes will not be applied until\nthe game is restarted. Restart now?", - onConfirm: Game.Restart, + onConfirm: restart, onCancel: closeAndExit, confirmText: "Restart Now", cancelText: "Restart Later"); + } else closeAndExit(); };