From 6d017b09f354f6d461ccf529eaa2a15fb62e44af Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Thu, 14 Jan 2016 00:02:22 +0000 Subject: [PATCH] Blink install map button. --- .../Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs index a73adff1e3..a1600a8e09 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyMapPreviewLogic.cs @@ -16,6 +16,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic { public class LobbyMapPreviewLogic : ChromeLogic { + readonly int blinkTickLength = 10; + bool installHighlighted; + int blinkTick; + [ObjectCreator.UseCtor] internal LobbyMapPreviewLogic(Widget widget, OrderManager orderManager, LobbyLogic lobby) { @@ -93,7 +97,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic var install = download.GetOrNull("MAP_INSTALL"); if (install != null) + { install.OnClick = () => lobby.Map.Install(); + install.IsHighlighted = () => installHighlighted; + } } var progress = widget.GetOrNull("MAP_PROGRESS"); @@ -169,5 +176,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic } } } + + public override void Tick() + { + if (++blinkTick >= blinkTickLength) + { + installHighlighted ^= true; + blinkTick = 0; + } + } } }