// CreateStringRunner using System; using System.Text; using UnityEngine; namespace Leguar.TotalJSON.Internal { class CreateStringRunner { private CreateStringSettings settings; private StringBuilder builder; private string indentString; private int currentIndent; private string newLineString; internal CreateStringRunner(CreateStringSettings settings) { this.settings = settings; builder=new StringBuilder(); if (settings.HumanReadable) { if (settings.IndentUsingTab) { indentString="\t"; } else { indentString=new string(' ',settings.IndentSpaceCount); } currentIndent=0; } newLineString=getNewLineString(); } internal void append(char chr) { builder.Append(chr); } internal void append(char chr, bool space) { builder.Append(chr); if (space && settings.HumanReadable) { builder.Append(' '); } } internal void append(string str) { builder.Append(str); } internal void append(char chr1, char chr2) { builder.Append(chr1); if (settings.HumanReadable) { builder.Append(' '); } builder.Append(chr2); } internal void append(char chr, int indentChange) { builder.Append(chr); if (settings.HumanReadable) { builder.Append(newLineString); currentIndent += indentChange; for (int n = 0; n