From 36d5ae54213956c6523823d75bcba60645e3f999 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Sat, 15 Aug 2020 21:12:18 +0200 Subject: [PATCH] Cache SupportPowersWidget offsets at initialization As well as overlay font. --- OpenRA.Mods.Common/Widgets/SupportPowersWidget.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/SupportPowersWidget.cs b/OpenRA.Mods.Common/Widgets/SupportPowersWidget.cs index 4ab921e23f..df7a1dc1a6 100644 --- a/OpenRA.Mods.Common/Widgets/SupportPowersWidget.cs +++ b/OpenRA.Mods.Common/Widgets/SupportPowersWidget.cs @@ -66,7 +66,7 @@ namespace OpenRA.Mods.Common.Widgets Rectangle eventBounds; public override Rectangle EventBounds { get { return eventBounds; } } SpriteFont overlayFont; - float2 holdOffset, readyOffset, timeOffset; + float2 iconOffset, holdOffset, readyOffset, timeOffset; [CustomLintableHotkeyNames] public static IEnumerable LinterHotkeyNames(MiniYamlNode widgetNode, Action emitError, Action emitWarning) @@ -111,6 +111,10 @@ namespace OpenRA.Mods.Common.Widgets i => modData.Hotkeys[HotkeyPrefix + (i + 1).ToString("D2")]); overlayFont = Game.Renderer.Fonts[OverlayFont]; + + iconOffset = 0.5f * IconSize.ToFloat2() + IconSpriteOffset; + holdOffset = iconOffset - overlayFont.Measure(HoldText) / 2; + readyOffset = iconOffset - overlayFont.Measure(ReadyText) / 2; } public class SupportPowerIcon @@ -194,10 +198,6 @@ namespace OpenRA.Mods.Common.Widgets public override void Draw() { - var iconOffset = 0.5f * IconSize.ToFloat2() + IconSpriteOffset; - - holdOffset = iconOffset - overlayFont.Measure(HoldText) / 2; - readyOffset = iconOffset - overlayFont.Measure(ReadyText) / 2; timeOffset = iconOffset - overlayFont.Measure(WidgetUtils.FormatTime(0, worldRenderer.World.Timestep)) / 2; // Icons