Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaClient/ClientSource/Text/LocalizedString/LimitLString.cs
Markus Isberg 7547a9b78a Build 0.18.0.0
2022-05-13 00:55:52 +09:00

32 lines
956 B
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;
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;
UpdateLanguage();
}
}
}