Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaClient/ClientSource/Text/LocalizedString/LimitLString.cs
2022-02-26 02:43:01 +09:00

34 lines
1.0 KiB
C#

#nullable enable
namespace Barotrauma
{
public class LimitLString : LocalizedString
{
private readonly LocalizedString nestedStr;
private readonly GUIFont font;
private readonly int maxWidth;
private ScalableFont? cachedFont = null;
private uint cachedFontSize = 0;
public LimitLString(LocalizedString text, GUIFont font, int maxWidth)
{
this.nestedStr = text;
this.font = font;
this.maxWidth = maxWidth;
}
public override bool Loaded => nestedStr.Loaded;
protected override bool MustRetrieveValue()
{
return base.MustRetrieveValue() || cachedFont != font.Value || cachedFont.Size != font.Size;
}
public override void RetrieveValue()
{
cachedValue = ToolBox.LimitString(nestedStr.Value, font.Value, maxWidth);
cachedFont = font.Value;
cachedFontSize = font.Size;
UpdateLanguage();
}
}
}