@@ -4,129 +4,7 @@ extends Object
4
4
const BlockCategory = preload ("res://addons/block_code/ui/picker/categories/block_category.gd" )
5
5
const Types = preload ("res://addons/block_code/types/types.gd" )
6
6
const 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" )
130
8
131
9
132
10
## 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
148
26
if cat == null :
149
27
cat = extra_cat_map .get (block .category )
150
28
if cat == null :
151
- var props : Dictionary = BUILTIN_PROPS .get (block .category , {})
29
+ var props : Dictionary = Constants . BUILTIN_CATEGORIES_PROPS .get (block .category , {})
152
30
var color : Color = props .get ("color" , Color .SLATE_GRAY )
153
31
var order : int = props .get ("order" , 0 )
154
32
cat = BlockCategory .new (block .category , color , order )
@@ -229,26 +107,4 @@ static func get_inherited_blocks(_class_name: String) -> Array[Block]:
229
107
230
108
231
109
static 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