From 0cf51d81426e791989fe0a56615a51e9381e8d52 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 16 Aug 2010 17:39:32 +1200 Subject: [PATCH] Skip movies with `esc' --- OpenRA.Game/Game.cs | 4 +++- OpenRA.Game/Widgets/VqaPlayerWidget.cs | 13 +++++++++++++ .../Widgets/Delegates/IngameChromeDelegate.cs | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index 22ae147fe4..934540ba4c 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -390,9 +390,11 @@ namespace OpenRA orderManager.StartGame(); } - public static event Action OnGameStart = () => { }; + public static event Action OnGameStart = () => {}; + public static event Action BeforeGameStart = () => {}; internal static void StartGame() { + BeforeGameStart(); LoadMap(LobbyInfo.GlobalSettings.Map); if (orderManager.GameStarted) return; Widget.SelectedWidget = null; diff --git a/OpenRA.Game/Widgets/VqaPlayerWidget.cs b/OpenRA.Game/Widgets/VqaPlayerWidget.cs index 25b233f730..8c89df33aa 100644 --- a/OpenRA.Game/Widgets/VqaPlayerWidget.cs +++ b/OpenRA.Game/Widgets/VqaPlayerWidget.cs @@ -97,6 +97,19 @@ namespace OpenRA.Widgets Game.Renderer.RgbaSpriteRenderer.DrawSprite(overlaySprite, videoOrigin, "chrome", videoSize); } + public override bool HandleKeyPressInner(KeyInput e) + { + if (e.Event == KeyInputEvent.Down) + { + if (e.KeyChar == 27) // Escape + { + Stop(); + return true; + } + } + return false; + } + public void Play() { PlayThen(() => {}); diff --git a/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs index 89f8a27ac4..01001cce1a 100755 --- a/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs +++ b/OpenRA.Mods.RA/Widgets/Delegates/IngameChromeDelegate.cs @@ -21,7 +21,7 @@ namespace OpenRA.Mods.RA.Widgets.Delegates var gameRoot = r.GetWidget("INGAME_ROOT"); var optionsBG = gameRoot.GetWidget("INGAME_OPTIONS_BG"); - Game.OnGameStart += () => r.OpenWindow("INGAME_ROOT"); + Game.BeforeGameStart += () => r.OpenWindow("INGAME_ROOT"); Game.OnGameStart += () => gameRoot.GetWidget("INGAME_RADAR_BIN").SetWorld(Game.world); r.GetWidget("INGAME_OPTIONS_BUTTON").OnMouseUp = mi => {