@@ -4,129 +4,7 @@ extends Object
44const BlockCategory = preload ("res://addons/block_code/ui/picker/categories/block_category.gd" )
55const Types = preload ("res://addons/block_code/types/types.gd" )
66const Util = preload ("res://addons/block_code/ui/util.gd" )
7-
8- const BLOCKS : Dictionary = {
9- "control_block" : preload ("res://addons/block_code/ui/blocks/control_block/control_block.tscn" ),
10- "parameter_block" : preload ("res://addons/block_code/ui/blocks/parameter_block/parameter_block.tscn" ),
11- "statement_block" : preload ("res://addons/block_code/ui/blocks/statement_block/statement_block.tscn" ),
12- "entry_block" : preload ("res://addons/block_code/ui/blocks/entry_block/entry_block.tscn" ),
13- }
14-
15- ## Properties for builtin categories. Order starts at 10 for the first
16- ## category and then are separated by 10 to allow custom categories to
17- ## be easily placed between builtin categories.
18- const BUILTIN_PROPS : Dictionary = {
19- "Lifecycle" :
20- {
21- "color" : Color ("ec3b59" ),
22- "order" : 10 ,
23- },
24- "Transform | Position" :
25- {
26- "color" : Color ("4b6584" ),
27- "order" : 20 ,
28- },
29- "Transform | Rotation" :
30- {
31- "color" : Color ("4b6584" ),
32- "order" : 30 ,
33- },
34- "Transform | Scale" :
35- {
36- "color" : Color ("4b6584" ),
37- "order" : 40 ,
38- },
39- "Graphics | Modulate" :
40- {
41- "color" : Color ("03aa74" ),
42- "order" : 50 ,
43- },
44- "Graphics | Visibility" :
45- {
46- "color" : Color ("03aa74" ),
47- "order" : 60 ,
48- },
49- "Graphics | Viewport" :
50- {
51- "color" : Color ("03aa74" ),
52- "order" : 61 ,
53- },
54- "Graphics | Animation" :
55- {
56- "color" : Color ("03aa74" ),
57- "order" : 62 ,
58- },
59- "Sounds" :
60- {
61- "color" : Color ("e30fc0" ),
62- "order" : 70 ,
63- },
64- "Physics | Mass" :
65- {
66- "color" : Color ("a5b1c2" ),
67- "order" : 80 ,
68- },
69- "Physics | Velocity" :
70- {
71- "color" : Color ("a5b1c2" ),
72- "order" : 90 ,
73- },
74- "Input" :
75- {
76- "color" : Color ("d54322" ),
77- "order" : 100 ,
78- },
79- "Communication | Methods" :
80- {
81- "color" : Color ("4b7bec" ),
82- "order" : 110 ,
83- },
84- "Communication | Groups" :
85- {
86- "color" : Color ("4b7bec" ),
87- "order" : 120 ,
88- },
89- "Info | Score" :
90- {
91- "color" : Color ("cf6a87" ),
92- "order" : 130 ,
93- },
94- "Loops" :
95- {
96- "color" : Color ("20bf6b" ),
97- "order" : 140 ,
98- },
99- "Logic | Conditionals" :
100- {
101- "color" : Color ("45aaf2" ),
102- "order" : 150 ,
103- },
104- "Logic | Comparison" :
105- {
106- "color" : Color ("45aaf2" ),
107- "order" : 160 ,
108- },
109- "Logic | Boolean" :
110- {
111- "color" : Color ("45aaf2" ),
112- "order" : 170 ,
113- },
114- "Variables" :
115- {
116- "color" : Color ("ff8f08" ),
117- "order" : 180 ,
118- },
119- "Math" :
120- {
121- "color" : Color ("a55eea" ),
122- "order" : 190 ,
123- },
124- "Log" :
125- {
126- "color" : Color ("002050" ),
127- "order" : 200 ,
128- },
129- }
7+ const Constants = preload ("res://addons/block_code/ui/constants.gd" )
1308
1319
13210## Compare block categories for sorting. Compare by order then name.
@@ -148,7 +26,7 @@ static func get_categories(blocks: Array[Block], extra_categories: Array[BlockCa
14826 if cat == null :
14927 cat = extra_cat_map .get (block .category )
15028 if cat == null :
151- var props : Dictionary = BUILTIN_PROPS .get (block .category , {})
29+ var props : Dictionary = Constants . BUILTIN_CATEGORIES_PROPS .get (block .category , {})
15230 var color : Color = props .get ("color" , Color .SLATE_GRAY )
15331 var order : int = props .get ("order" , 0 )
15432 cat = BlockCategory .new (block .category , color , order )
@@ -229,26 +107,4 @@ static func get_inherited_blocks(_class_name: String) -> Array[Block]:
229107
230108
231109static func get_variable_blocks (variables : Array [VariableResource ]):
232- var block_list : Array [Block ]
233-
234- for variable in variables :
235- var type_string : String = Types .VARIANT_TYPE_TO_STRING [variable .var_type ]
236-
237- var b = BLOCKS ["parameter_block" ].instantiate ()
238- b .block_name = "get_var_%s " % variable .var_name
239- b .variant_type = variable .var_type
240- b .block_format = variable .var_name
241- b .statement = variable .var_name
242- # HACK: Color the blocks since they are outside of the normal picker system
243- b .color = BUILTIN_PROPS ["Variables" ].color
244- block_list .append (b )
245-
246- b = BLOCKS ["statement_block" ].instantiate ()
247- b .block_name = "set_var_%s " % variable .var_name
248- b .block_type = Types .BlockType .STATEMENT
249- b .block_format = "Set %s to {value: %s} " % [variable .var_name , type_string ]
250- b .statement = "%s = {value} " % [variable .var_name ]
251- b .color = BUILTIN_PROPS ["Variables" ].color
252- block_list .append (b )
253-
254- return block_list
110+ return Util .instantiate_variable_blocks (variables )
0 commit comments