From c0cbca26ea003e81d3171e9f61a847264722412a Mon Sep 17 00:00:00 2001 From: Curtis Shmyr Date: Sat, 10 Oct 2020 21:03:30 -0600 Subject: [PATCH] Use lobby option display values when clients join --- .../ServerTraits/LobbySettingsNotification.cs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs index 89ab371095..a99f517538 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbySettingsNotification.cs @@ -9,7 +9,6 @@ */ #endregion -using System.Collections.Generic; using System.Linq; using OpenRA.Network; using OpenRA.Server; @@ -31,17 +30,14 @@ namespace OpenRA.Mods.Common.Server var options = server.Map.Rules.Actors["player"].TraitInfos() .Concat(server.Map.Rules.Actors["world"].TraitInfos()) - .SelectMany(t => t.LobbyOptions(server.Map.Rules)); - - var optionNames = new Dictionary(); - foreach (var o in options) - optionNames[o.Id] = o.Name; + .SelectMany(t => t.LobbyOptions(server.Map.Rules)) + .ToDictionary(o => o.Id, o => o); foreach (var kv in server.LobbyInfo.GlobalSettings.LobbyOptions) { if (!defaults.LobbyOptions.TryGetValue(kv.Key, out var def) || kv.Value.Value != def.Value) - if (optionNames.TryGetValue(kv.Key, out var optionName)) - server.SendOrderTo(conn, "Message", optionName + ": " + kv.Value.Value); + if (options.TryGetValue(kv.Key, out var option)) + server.SendOrderTo(conn, "Message", option.Name + ": " + option.Values[kv.Value.Value]); } } }