Fix lobby faction tooltip rendering.

This commit is contained in:
Paul Chote
2023-10-29 14:20:27 +00:00
committed by Gustas
parent 500ee54f04
commit b28a3b6a5a
3 changed files with 8 additions and 7 deletions

View File

@@ -77,8 +77,11 @@ namespace OpenRA.Mods.Common.Widgets
{
ModRules = modData.DefaultRules;
var tooltipCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
GetText = () => tooltipCache.Update(Text);
var textCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
var tooltipTextCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
var tooltipDescCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
GetText = () => textCache.Update(Text);
GetColor = () => TextColor;
GetColorDisabled = () => TextColorDisabled;
GetContrastColorDark = () => ContrastColorDark;
@@ -86,9 +89,7 @@ namespace OpenRA.Mods.Common.Widgets
OnMouseUp = _ => OnClick();
OnKeyPress = _ => OnClick();
IsHighlighted = () => Highlighted;
var tooltipDescCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
GetTooltipText = () => tooltipDescCache.Update(TooltipText);
var textCache = new CachedTransform<string, string>(s => !string.IsNullOrEmpty(s) ? TranslationProvider.GetString(s) : "");
GetTooltipText = () => tooltipTextCache.Update(TooltipText);
GetTooltipDesc = () => tooltipDescCache.Update(TooltipDesc);
tooltipContainer = Exts.Lazy(() =>
Ui.Root.Get<TooltipContainerWidget>(TooltipContainer));

View File

@@ -218,7 +218,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
colorManager = modRules.Actors[SystemActors.World].TraitInfo<IColorPickerManagerInfo>();
foreach (var f in modRules.Actors[SystemActors.World].TraitInfos<FactionInfo>())
factions.Add(f.InternalName, new LobbyFaction { Selectable = f.Selectable, Name = f.Name, Side = f.Side, Description = f.Description });
factions.Add(f.InternalName, new LobbyFaction { Selectable = f.Selectable, Name = f.Name, Side = f.Side, Description = f.Description?.Replace(@"\n", "\n") });
var gameStarting = false;
Func<bool> configurationDisabled = () => !Game.IsHost || gameStarting ||

View File

@@ -200,7 +200,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}
/// <summary>Splits a string into two parts on the first instance of a given token.</summary>
static (string First, string Second) SplitOnFirstToken(string input, string token = "\\n")
static (string First, string Second) SplitOnFirstToken(string input, string token = "\n")
{
if (string.IsNullOrEmpty(input))
return (null, null);