public void ToStructVariables(TextWriter writer, bool DX, List <string> labels, string[] textures = null) { for (int i = 1; i < Children.Count; i++) { Children[i - 1].Sibling = Children[i]; } for (int i = Children.Count - 1; i >= 0; i--) { if (!labels.Contains(Children[i].Name)) { labels.Add(Children[i].Name); Children[i].ToStructVariables(writer, DX, labels, textures); writer.WriteLine(); } } if (Parent == null && Sibling != null && !labels.Contains(Sibling.Name)) { labels.Add(Sibling.Name); Sibling.ToStructVariables(writer, DX, labels, textures); writer.WriteLine(); } if (Attach != null && !labels.Contains(Attach.Name)) { labels.Add(Attach.Name); Attach.ToStructVariables(writer, DX, labels, textures); writer.WriteLine(); } writer.Write("NJS_OBJECT "); writer.Write(Name); writer.Write(" = "); writer.Write(ToStruct()); writer.WriteLine(";"); }