diff --git a/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs b/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs index d0e7a3441a..7d884f5705 100644 --- a/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ProductionPaletteWidget.cs @@ -41,6 +41,7 @@ namespace OpenRA.Mods.Common.Widgets { public enum ReadyTextStyleOptions { Solid, AlternatingColor, Blinking } public readonly ReadyTextStyleOptions ReadyTextStyle = ReadyTextStyleOptions.AlternatingColor; + public readonly Color TextColor = Color.White; public readonly Color ReadyTextAltColor = Color.Gold; public readonly int Columns = 3; public readonly int2 IconSize = new int2(64, 48); @@ -559,27 +560,27 @@ namespace OpenRA.Mods.Common.Widgets if (first.Done) { if (ReadyTextStyle == ReadyTextStyleOptions.Solid || orderManager.LocalFrameNumber * worldRenderer.World.Timestep / 360 % 2 == 0) - overlayFont.DrawTextWithContrast(ReadyText, icon.Pos + readyOffset, Color.White, Color.Black, 1); + overlayFont.DrawTextWithContrast(ReadyText, icon.Pos + readyOffset, TextColor, Color.Black, 1); else if (ReadyTextStyle == ReadyTextStyleOptions.AlternatingColor) overlayFont.DrawTextWithContrast(ReadyText, icon.Pos + readyOffset, ReadyTextAltColor, Color.Black, 1); } else if (first.Paused) overlayFont.DrawTextWithContrast(HoldText, icon.Pos + holdOffset, - Color.White, Color.Black, 1); + TextColor, Color.Black, 1); else if (!waiting && DrawTime) overlayFont.DrawTextWithContrast(WidgetUtils.FormatTime(first.Queue.RemainingTimeActual(first), World.Timestep), icon.Pos + timeOffset, - Color.White, Color.Black, 1); + TextColor, Color.Black, 1); if (first.Infinite && symbolFont != null) symbolFont.DrawTextWithContrast(InfiniteSymbol, icon.Pos + infiniteOffset, - Color.White, Color.Black, 1); + TextColor, Color.Black, 1); else if (total > 1 || waiting) overlayFont.DrawTextWithContrast(total.ToString(), icon.Pos + queuedOffset, - Color.White, Color.Black, 1); + TextColor, Color.Black, 1); } } } diff --git a/OpenRA.Mods.Common/Widgets/ProductionTabsWidget.cs b/OpenRA.Mods.Common/Widgets/ProductionTabsWidget.cs index 967adfbfa9..a2fc2171bf 100644 --- a/OpenRA.Mods.Common/Widgets/ProductionTabsWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ProductionTabsWidget.cs @@ -91,6 +91,9 @@ namespace OpenRA.Mods.Common.Widgets CachedTransform<(bool Disabled, bool Pressed, bool Hover, bool Focused, bool Highlighted), Sprite> getLeftArrowImage; CachedTransform<(bool Disabled, bool Pressed, bool Hover, bool Focused, bool Highlighted), Sprite> getRightArrowImage; + public readonly Color TabColor = Color.White; + public readonly Color TabColorDone = Color.Gold; + int contentWidth = 0; float listOffset = 0; bool leftPressed = false; @@ -218,7 +221,7 @@ namespace OpenRA.Mods.Common.Widgets var textSize = font.Measure(tab.Name); var position = new int2(rect.X + (rect.Width - textSize.X) / 2, rect.Y + (rect.Height - textSize.Y) / 2); - font.DrawTextWithContrast(tab.Name, position, tab.Queue.AllQueued().Any(i => i.Done) ? Color.Gold : Color.White, Color.Black, 1); + font.DrawTextWithContrast(tab.Name, position, tab.Queue.AllQueued().Any(i => i.Done) ? TabColorDone : TabColor, Color.Black, 1); } Game.Renderer.DisableScissor();