~ruther/NosSmooth

a4dcb7ae8bf6db4070c286b72125bf7f8afd86d1 — Rutherther 2 years ago f5d1f00
feat(packets): make prepared level part of CurrentLevel in PacketStringBuilder similar to PacketStringEnumerator
1 files changed, 7 insertions(+), 7 deletions(-)

M Packets/NosSmooth.PacketSerializer.Abstractions/PacketStringBuilder.cs
M Packets/NosSmooth.PacketSerializer.Abstractions/PacketStringBuilder.cs => Packets/NosSmooth.PacketSerializer.Abstractions/PacketStringBuilder.cs +7 -7
@@ 16,7 16,6 @@ public class PacketStringBuilder
{
    private readonly StringBuilder _builder;
    private StringBuilderLevel _currentLevel;
    private char? _preparedLevelSeparator;
    private char? _insertSeparator;

    /// <summary>


@@ 26,7 25,7 @@ public class PacketStringBuilder
    public PacketStringBuilder(char separator = ' ')
    {
        _currentLevel = new StringBuilderLevel(null, separator);
        _preparedLevelSeparator = _insertSeparator = null;
        _insertSeparator = null;
        _builder = new StringBuilder();
    }



@@ 48,7 47,7 @@ public class PacketStringBuilder
    /// <param name="separator">The separator of the prepared level.</param>
    public void PrepareLevel(char separator)
    {
        _preparedLevelSeparator = separator;
        _currentLevel.PreparedLevelSeparator = separator;
    }

    /// <summary>


@@ 56,7 55,7 @@ public class PacketStringBuilder
    /// </summary>
    public void RemovePreparedLevel()
    {
        _preparedLevelSeparator = null;
        _currentLevel.PreparedLevelSeparator = null;
    }

    /// <summary>


@@ 69,12 68,12 @@ public class PacketStringBuilder
    /// <returns>An enumerator with the new level pushed.</returns>
    public bool PushPreparedLevel()
    {
        if (_preparedLevelSeparator is null)
        if (_currentLevel.PreparedLevelSeparator is null)
        {
            return false;
        }

        _currentLevel = new StringBuilderLevel(_currentLevel, _preparedLevelSeparator.Value);
        _currentLevel = new StringBuilderLevel(_currentLevel, _currentLevel.PreparedLevelSeparator.Value);
        return true;
    }



@@ 88,7 87,6 @@ public class PacketStringBuilder
    /// <param name="separator">The separator of the new level.</param>
    public void PushLevel(char separator)
    {
        _preparedLevelSeparator = null;
        _currentLevel = new StringBuilderLevel(_currentLevel, separator);
    }



@@ 303,6 301,8 @@ public class PacketStringBuilder

        public StringBuilderLevel? Parent { get; }

        public char? PreparedLevelSeparator { get; set; }

        public char Separator { get; }

        public char? SeparatorOnce { get; set; }

Do not follow this link