void RecursiveTreeParsing(Branch branch, int indent, bool parentIsActive) { List <BTNode> nodes = branch.Children(); for (int i = 0; i < nodes.Count; ++i) { EditorGUI.indentLevel = indent; bool isActiveChild = branch.ActiveChild() == i; GUI.color = (isActiveChild && parentIsActive) ? Color.green : Color.white; EditorGUILayout.LabelField(nodes[i].ToString(), EditorStyles.whiteLabel); if (nodes[i] is Branch) { RecursiveTreeParsing(nodes[i] as Branch, indent + 1, isActiveChild); } } }
private void RecursiveTreeParsing(Branch branch, int indent, bool parentIsActive) { var nodes = branch.Children(); for (var i = 0; i < nodes.Count; ++i) { EditorGUI.indentLevel = indent; var isActiveChild = branch.ActiveChild() == i; GUI.color = isActiveChild && parentIsActive ? Color.green : Color.white; EditorGUILayout.LabelField(nodes[i].ToString()); if (nodes[i] is Branch) { RecursiveTreeParsing(nodes[i] as Branch, indent + 1, isActiveChild); } } }