From 497b5e30ada3f99b7b03a4f10ec9cf432cb25e6d Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 11 May 2025 19:16:07 +0100 Subject: [PATCH] Extract a MapSizeLabel helper method. --- .../Widgets/Logic/MapChooserLogic.cs | 18 ++++++++++++------ mods/common/fluent/common.ftl | 8 ++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/OpenRA.Mods.Common/Widgets/Logic/MapChooserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MapChooserLogic.cs index a7cf671eec..e0524a53d3 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MapChooserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MapChooserLogic.cs @@ -91,6 +91,17 @@ namespace OpenRA.Mods.Common.Widgets.Logic [FluentReference] const string RemoteMapsTab = "button-mapchooser-remote-maps-tab"; + public static string MapSizeLabel(Size size) + { + var area = size.Width * size.Height; + var label = area >= 120 * 120 ? MapSizeHuge : + area >= 90 * 90 ? MapSizeLarge : + area >= 60 * 60 ? MapSizeMedium : + MapSizeSmall; + + return $"{size.Width}x{size.Height} ({FluentProvider.GetMessage(label)})"; + } + readonly string allMaps; readonly Widget widget; @@ -498,12 +509,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic var sizeWidget = item.GetOrNull("SIZE"); if (sizeWidget != null) { - var size = preview.Bounds.Width + "x" + preview.Bounds.Height; - var numberPlayableCells = preview.Bounds.Width * preview.Bounds.Height; - if (numberPlayableCells >= 120 * 120) size += " " + FluentProvider.GetMessage(MapSizeHuge); - else if (numberPlayableCells >= 90 * 90) size += " " + FluentProvider.GetMessage(MapSizeLarge); - else if (numberPlayableCells >= 60 * 60) size += " " + FluentProvider.GetMessage(MapSizeMedium); - else size += " " + FluentProvider.GetMessage(MapSizeSmall); + var size = MapSizeLabel(preview.Bounds.Size); sizeWidget.GetText = () => size; } diff --git a/mods/common/fluent/common.ftl b/mods/common/fluent/common.ftl index 2f04fea455..4b326162be 100644 --- a/mods/common/fluent/common.ftl +++ b/mods/common/fluent/common.ftl @@ -478,10 +478,10 @@ label-player-count = [one] { $players } Player *[other] { $players } Players } -label-map-size-huge = (Huge) -label-map-size-large = (Large) -label-map-size-medium = (Medium) -label-map-size-small = (Small) +label-map-size-huge = Huge +label-map-size-large = Large +label-map-size-medium = Medium +label-map-size-small = Small label-map-searching-count = { $count -> [one] Searching the OpenRA Resource Center for { $count } map...