Truncate text on logic gates

This commit is contained in:
Stone_Red
2023-10-16 20:59:30 +02:00
parent 6175d29b3d
commit 4a2c9a1f01
2 changed files with 16 additions and 2 deletions
@@ -135,7 +135,7 @@ internal class WorldScreen : SrlsScreen<Grid>
srls.SpriteBatch.DrawRectangle(logicGate.WorldData.Position * srls.Scale, logicGateSize * srls.Scale, Color.DarkGray, 2 * srls.Scale, 0.2f);
// Draw text for components
richTextLayout.Text = logicGate.WorldData.Name;
richTextLayout.Text = logicGate.WorldData.Name.Truncate(10);
richTextLayout.Draw(srls.SpriteBatch, (logicGate.WorldData.Position + new Vector2(2, 2)) * srls.Scale, Color.Black, new Vector2(srls.Scale, srls.Scale), layerDepth: 0);
// Draw logic gate connections
@@ -154,7 +154,7 @@ internal class WorldScreen : SrlsScreen<Grid>
if (selectedLogicGate is not null)
{
richTextLayout.Text = selectedLogicGate.WorldData.Name;
richTextLayout.Text = selectedLogicGate.WorldData.Name.Truncate(10);
richTextLayout.Draw(srls.SpriteBatch, selectedLogicGate.WorldData.Position + (new Vector2(2, 2) * srls.Scale), Color.White, new Vector2(srls.Scale, srls.Scale), layerDepth: 0);
srls.SpriteBatch.DrawRectangle(selectedLogicGate.WorldData.Position, logicGateSize * srls.Scale, Color.Red, 2 * srls.Scale);
}
@@ -0,0 +1,14 @@
namespace StoneRed.LogicSimulator.Utilities;
internal static class StringExtensions
{
public static string Truncate(this string value, int maxLength)
{
if (string.IsNullOrEmpty(value))
{
return value;
}
return value.Length <= maxLength ? value : value[..maxLength];
}
}