6 namespace SiliconStudio.Quantum
12 var builder =
new StringBuilder();
13 PrintHierarchyInternal(node, 0, builder);
14 return builder.ToString();
17 private static void PrintHierarchyInternal(
IModelNode node,
int indentation, StringBuilder builder)
19 PrintIndentation(indentation, builder);
20 builder.Append(node.Guid +
" ");
21 PrintIndentation(indentation, builder);
22 builder.Append(node.Name ??
"<untitled>");
23 builder.Append(
": [");
24 builder.Append(node.Content.GetType().Name);
25 builder.Append(
"] = ");
26 if (node.Content.IsReference)
28 if (node.Content.Value != null)
30 builder.Append(node.Content.Value.ToString().Replace(Environment.NewLine,
" "));
31 builder.Append(
" > ");
33 builder.Append(
"Reference -> ");
34 builder.Append(node.Content.Reference);
36 else if (node.Content.Value == null)
38 builder.Append(
"(null)");
42 builder.Append(node.Content.Value.ToString().
Replace(Environment.NewLine,
" "));
45 foreach (var child
in node.Children)
47 PrintHierarchyInternal(child, indentation + 4, builder);
51 private static void PrintIndentation(
int indendation, StringBuilder builder)
53 for (
int i = 0; i < indendation; ++i)
static string PrintHierarchy(this IModelNode node)
The IModelNode interface represents a node in a model object. A model object is represented by a grap...