From 5d4fa5eea95b8fc9b615334e9474045371aba5ac Mon Sep 17 00:00:00 2001 From: Scott_NZ Date: Fri, 26 Apr 2013 18:13:34 +1200 Subject: [PATCH] Cache pause state and switch back to it when closing the ingame menu. Fix formatting fail in d2k mod.yaml --- .../Widgets/Logic/IngameChromeLogic.cs | 17 +++++++++++++---- mods/d2k/mod.yaml | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.RA/Widgets/Logic/IngameChromeLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/IngameChromeLogic.cs index 71dc3036cb..93b6f4f9c1 100644 --- a/OpenRA.Mods.RA/Widgets/Logic/IngameChromeLogic.cs +++ b/OpenRA.Mods.RA/Widgets/Logic/IngameChromeLogic.cs @@ -38,14 +38,16 @@ namespace OpenRA.Mods.RA.Widgets.Logic void InitRootWidgets() { + var cachedPause = false; Widget optionsBG = null; optionsBG = Game.LoadWidget(world, "INGAME_OPTIONS_BG", Ui.Root, new WidgetArgs { { "onExit", () => { - if (world.LobbyInfo.IsSinglePlayer) - world.IssueOrder(Order.PauseGame(false)); optionsBG.Visible = false; + + if (world.LobbyInfo.IsSinglePlayer) + world.IssueOrder(Order.PauseGame(cachedPause)); } } }); @@ -53,8 +55,15 @@ namespace OpenRA.Mods.RA.Widgets.Logic gameRoot.Get("INGAME_OPTIONS_BUTTON").OnClick = () => { optionsBG.Visible ^= true; - if (world.LobbyInfo.IsSinglePlayer) - world.IssueOrder(Order.PauseGame(optionsBG.Visible)); + if (optionsBG.Visible) + { + cachedPause = world.Paused; + + if (world.LobbyInfo.IsSinglePlayer) + world.IssueOrder(Order.PauseGame(true)); + } + else + world.IssueOrder(Order.PauseGame(cachedPause)); }; Game.LoadWidget(world, "CHAT_PANEL", gameRoot, new WidgetArgs()); diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index af61548e84..dbd26c8d27 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -61,7 +61,8 @@ ChromeLayout: mods/ra/chrome/dropdowns.yaml mods/ra/chrome/modchooser.yaml mods/ra/chrome/cheats.yaml - mods/ra/chrome/musicplayer.yaml mods/d2k/chrome/tooltips.yaml + mods/ra/chrome/musicplayer.yaml + mods/d2k/chrome/tooltips.yaml Weapons: mods/d2k/weapons/defaults.yaml mods/d2k/weapons/explosions.yaml