File tree Expand file tree Collapse file tree 1 file changed +10
-20
lines changed
addons/block_code/instruction_tree Expand file tree Collapse file tree 1 file changed +10
-20
lines changed Original file line number Diff line number Diff line change 1
1
class_name InstructionTree
2
2
extends Object
3
3
4
- var depth : int
5
- var out : String
6
-
7
4
8
5
class TreeNode :
9
6
var data : String
@@ -18,24 +15,17 @@ class TreeNode:
18
15
19
16
20
17
func generate_text (root_node : TreeNode , start_depth : int = 0 ) -> String :
21
- out = ""
22
- depth = start_depth
23
- generate_text_recursive (root_node )
24
- return out
25
-
26
-
27
- func generate_text_recursive (root_node : TreeNode ):
28
- if root_node .data != "" :
29
- for i in depth :
30
- out += "\t "
31
- out += root_node .data + "\n "
18
+ var out = PackedStringArray ()
19
+ generate_text_recursive (root_node , start_depth , out )
20
+ return "" .join (out )
32
21
33
- depth += 1
34
22
35
- for c in root_node .children :
36
- generate_text_recursive (c )
23
+ func generate_text_recursive (node : TreeNode , depth : int , out : PackedStringArray ):
24
+ if node .data != "" :
25
+ out .append ("\t " .repeat (depth ) + node .data + "\n " )
37
26
38
- depth -= 1
27
+ for c in node .children :
28
+ generate_text_recursive (c , depth + 1 , out )
39
29
40
- if root_node .next :
41
- generate_text_recursive (root_node .next )
30
+ if node .next :
31
+ generate_text_recursive (node .next , depth , out )
You can’t perform that action at this time.
0 commit comments