public void Extend(FormattedString[] pre, CommandPart p) { if (pre.Length > 0 && NextParts.Any(o => o.ThisPart == pre[0])) { NextParts.First(o => o.ThisPart.Equals(pre[0])).Extend(pre.Skip(1).ToArray(), p); } else if (CType == CommandType.StaticList) { _staticList.Add(p); } }
public void Extend(params FormattedString[] p) { if (NextParts.Any(o => o.ThisPart == p[0])) { NextParts.First(o => o.ThisPart.Equals(p[0])).Extend(p.Skip(1).ToArray()); } else if (CType == CommandType.StaticList) { _staticList.Add(FromArray(p)); } }
public FormattedString LevelString(bool showlevel = true, bool complete = true) { var b = new FormattedString(); var count = NextParts.Count(); b.Append(ThisPart); if (count == 1) { b.Append(" "); b.Append(NextParts.First().LevelString(showlevel)); return(b); } if (count != 0 && showlevel) { b.Append($"[ {FormattedString.Join("| ", NextParts.Select(o => o.LevelString(complete)))}] "); } else if (count != 0) { b.Append("..."); } return(b); }