static protected void CopyNonRichText(ref ParseState ioState, int inIdx) { int copyLength = ioState.CopyLengthExclusive(inIdx); if (copyLength <= 0) { return; } StringSlice copySlice = ioState.Input.Substring(ioState.CopyStart, copyLength); if (ioState.RichOutput.Length <= 0) { copySlice = copySlice.TrimStart(); } if (copySlice.Length > 0) { ioState.Target.AddText((uint)copySlice.Length); copySlice.AppendTo(ioState.RichOutput); copySlice.AppendTo(ioState.StrippedOutput); } ioState.CopyStart += copyLength; // Debug.LogFormat("[TagStringParser] Copied non-rich text '{0}'", copySlice); }
static protected void SkipText(ref ParseState ioState, int inIdx) { int length = ioState.CopyLengthExclusive(inIdx); if (length <= 0) { return; } ioState.CopyStart += length; // Debug.LogFormat("[TagStringParser] Skipped {0} characters", length); }
static protected void CopyRichTag(ref ParseState ioState, int inIdx) { int copyLength = ioState.CopyLengthExclusive(inIdx); if (copyLength <= 0) { return; } StringSlice copySlice = ioState.Input.Substring(ioState.CopyStart, copyLength); copySlice.AppendTo(ioState.RichOutput); ioState.CopyStart += copyLength; // Debug.LogFormat("[TagStringParser] Copied rich tag '{0}'", copySlice); }