From ab3b6a0e4309acda158963abad16ada1b42da6d3 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 2 Mar 2025 08:55:28 +0000 Subject: [PATCH] Cache Fluent queries. --- .../Widgets/Logic/Editor/MapGeneratorToolLogic.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/MapGeneratorToolLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/MapGeneratorToolLogic.cs index d16a82996c..e59706a1f9 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/MapGeneratorToolLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/MapGeneratorToolLogic.cs @@ -17,6 +17,7 @@ using OpenRA.Graphics; using OpenRA.Mods.Common.EditorBrushes; using OpenRA.Mods.Common.MapGenerator; using OpenRA.Mods.Common.Traits; +using OpenRA.Primitives; using OpenRA.Widgets; namespace OpenRA.Mods.Common.Widgets.Logic @@ -96,7 +97,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic ChangeGenerator(mapGenerators.FirstOrDefault()); if (selectedGenerator != null) { - generatorDropDown.GetText = () => FluentProvider.GetMessage(selectedGenerator.Name); + var label = new CachedTransform(g => FluentProvider.GetMessage(g.Name)); + generatorDropDown.GetText = () => label.Update(selectedGenerator); generatorDropDown.OnMouseDown = _ => { ScrollItemWidget SetupItem(IMapGeneratorInfo g, ScrollItemWidget template) @@ -104,7 +106,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic bool IsSelected() => g.Type == selectedGenerator.Type; void OnClick() => ChangeGenerator(mapGenerators.First(generator => generator.Type == g.Type)); var item = ScrollItemWidget.Setup(template, IsSelected, OnClick); - item.Get("LABEL").GetText = () => FluentProvider.GetMessage(g.Name); + var label = FluentProvider.GetMessage(g.Name); + item.Get("LABEL").GetText = () => label; return item; }