From 1b00cef30feb2554a10bee48807eea0fb1cf68a1 Mon Sep 17 00:00:00 2001 From: Gustas <37534529+PunkPun@users.noreply.github.com> Date: Wed, 7 Sep 2022 20:50:46 +0300 Subject: [PATCH] Fix a few tooltip translations being called every frame in WorldTooltipLogic and IngamePowerBarLogic --- .../Widgets/Logic/Ingame/IngamePowerCounterLogic.cs | 3 ++- OpenRA.Mods.Common/Widgets/Logic/Ingame/WorldTooltipLogic.cs | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs index dd2c4f427b..7e07d624ed 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs @@ -26,11 +26,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic var powerManager = world.LocalPlayer.PlayerActor.Trait(); var power = widget.Get("POWER"); var powerIcon = widget.Get("POWER_ICON"); + var powerUsage = modData.Translation.GetString(PowerUsage); powerIcon.GetImageName = () => powerManager.ExcessPower < 0 ? "power-critical" : "power-normal"; power.GetColor = () => powerManager.ExcessPower < 0 ? Color.Red : Color.White; power.GetText = () => powerManager.PowerProvided == 1000000 ? "∞" : powerManager.ExcessPower.ToString(); - power.GetTooltipText = () => modData.Translation.GetString(PowerUsage) + ": " + powerManager.PowerDrained.ToString() + + power.GetTooltipText = () => powerUsage + ": " + powerManager.PowerDrained.ToString() + (powerManager.PowerProvided != 1000000 ? "/" + powerManager.PowerProvided.ToString() : ""); } } diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/WorldTooltipLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/WorldTooltipLogic.cs index c1d19bb5b5..aa1fd61874 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/WorldTooltipLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/WorldTooltipLogic.cs @@ -44,6 +44,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic var extraHeightOnDouble = extras.Bounds.Y; var extraHeightOnSingle = extraHeightOnDouble - (doubleHeight - singleHeight); + var unrevealedTerrain = modData.Translation.GetString(UnrevealedTerrain); + tooltipContainer.BeforeRender = () => { if (viewport == null || viewport.TooltipType == WorldTooltipType.None) @@ -57,7 +59,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic switch (viewport.TooltipType) { case WorldTooltipType.Unexplored: - labelText = modData.Translation.GetString(UnrevealedTerrain); + labelText = unrevealedTerrain; break; case WorldTooltipType.Resource: labelText = viewport.ResourceTooltip;