diff --git a/OpenRA.Mods.Common/Widgets/Logic/ColorPickerLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/ColorPickerLogic.cs index f95935899c..d30654bfdb 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ColorPickerLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ColorPickerLogic.cs @@ -25,11 +25,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic int paletteTabHighlighted = 0; [ObjectCreator.UseCtor] - public ColorPickerLogic(Widget widget, ModData modData, World world, HSLColor initialColor, Action onChange, Dictionary logicArgs) + public ColorPickerLogic(Widget widget, ModData modData, World world, HSLColor initialColor, string initialFaction, Action onChange, + Dictionary logicArgs) { string actorType; - if (!ChromeMetrics.TryGet("ColorPickerActorType", out actorType)) - actorType = "mcv"; + if (initialFaction == null || !ChromeMetrics.TryGet("ColorPickerActorType-" + initialFaction, out actorType)) + actorType = ChromeMetrics.Get("ColorPickerActorType"); var preview = widget.GetOrNull("PREVIEW"); var actor = world.Map.Rules.Actors[actorType]; @@ -194,7 +195,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic var colorChooser = Game.LoadWidget(world, "COLOR_CHOOSER", null, new WidgetArgs() { { "onChange", onChange }, - { "initialColor", Game.Settings.Player.Color } + { "initialColor", Game.Settings.Player.Color }, + { "initialFaction", null } }); color.AttachPanel(colorChooser, onExit); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyUtils.cs b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyUtils.cs index fa79155134..7405a88084 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyUtils.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Lobby/LobbyUtils.cs @@ -217,7 +217,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic var colorChooser = Game.LoadWidget(world, "COLOR_CHOOSER", null, new WidgetArgs() { { "onChange", onChange }, - { "initialColor", client.Color } + { "initialColor", client.Color }, + { "initialFaction", client.Faction } }); color.AttachPanel(colorChooser, onExit);