@@ -132,54 +132,18 @@ static func _add_property_definitions(_class_name: String, property_list: Array[
132
132
# Setter
133
133
var block_definition : BlockDefinition
134
134
if block_settings .get ("has_setter" , true ):
135
- block_definition = (
136
- BlockDefinition
137
- . new (
138
- & "% s_set_% s" % [_class_name , property .name ],
139
- _class_name ,
140
- "Set the %s property" % property .name ,
141
- block_settings .category ,
142
- Types .BlockType .STATEMENT ,
143
- TYPE_NIL ,
144
- "set %s to {value: %s} " % [property .name .capitalize ().to_lower (), type_string ],
145
- "%s = {value} " % property .name ,
146
- {"value" : block_settings .get ("default_set" , _FALLBACK_SET_FOR_TYPE [property .type ])},
147
- )
148
- )
135
+ var default_value : Variant = block_settings .get ("default_set" , _FALLBACK_SET_FOR_TYPE [property .type ])
136
+ block_definition = BlockDefinition .new_property_setter (_class_name , property , block_settings .category , default_value )
149
137
_catalog [block_definition .name ] = block_definition
150
138
151
139
# Changer
152
140
if block_settings .get ("has_change" , true ):
153
- block_definition = (
154
- BlockDefinition
155
- . new (
156
- & "% s_change_% s" % [_class_name , property .name ],
157
- _class_name ,
158
- "Change the %s property" % property .name ,
159
- block_settings .category ,
160
- Types .BlockType .STATEMENT ,
161
- TYPE_NIL ,
162
- "change %s by {value: %s} " % [property .name .capitalize ().to_lower (), type_string ],
163
- "%s += {value} " % property .name ,
164
- {"value" : block_settings .get ("default_change" , _FALLBACK_CHANGE_FOR_TYPE [property .type ])},
165
- )
166
- )
141
+ var default_value : Variant = block_settings .get ("default_change" , _FALLBACK_CHANGE_FOR_TYPE [property .type ])
142
+ block_definition = BlockDefinition .new_property_changer (_class_name , property , block_settings .category , default_value )
167
143
_catalog [block_definition .name ] = block_definition
168
144
169
145
# Getter
170
- block_definition = (
171
- BlockDefinition
172
- . new (
173
- & "% s_get_% s" % [_class_name , property .name ],
174
- _class_name ,
175
- "The %s property" % property .name ,
176
- block_settings .category ,
177
- Types .BlockType .VALUE ,
178
- property .type ,
179
- "%s " % property .name .capitalize ().to_lower (),
180
- "%s " % property .name ,
181
- )
182
- )
146
+ block_definition = BlockDefinition .new_property_getter (_class_name , property , block_settings .category )
183
147
_catalog [block_definition .name ] = block_definition
184
148
185
149
@@ -238,7 +202,7 @@ static func _get_custom_parent_class_name(_custom_class_name: String) -> String:
238
202
return "Node"
239
203
240
204
241
- static func _get_parents (_class_name : String ) -> Array [String ]:
205
+ static func get_parents (_class_name : String ) -> Array [String ]:
242
206
if ClassDB .class_exists (_class_name ):
243
207
return _get_builtin_parents (_class_name )
244
208
var parents : Array [String ] = []
@@ -253,7 +217,7 @@ static func get_inherited_blocks(_class_name: String) -> Array[BlockDefinition]:
253
217
setup ()
254
218
255
219
var definitions : Array [BlockDefinition ] = []
256
- for _parent_class_name in _get_parents (_class_name ):
220
+ for _parent_class_name in get_parents (_class_name ):
257
221
definitions .append_array (_get_blocks_by_class (_parent_class_name ))
258
222
definitions .append_array (_get_blocks_by_class ("" ))
259
223
return definitions
@@ -276,55 +240,29 @@ static func add_custom_blocks(
276
240
static func get_variable_block_definitions (variables : Array [VariableDefinition ]) -> Array [BlockDefinition ]:
277
241
var block_definitions : Array [BlockDefinition ] = []
278
242
for variable : VariableDefinition in variables :
279
- var block_def : BlockDefinition
280
-
281
- # Getter
282
- block_def = get_variable_getter_block_definition (variable )
283
- block_definitions .append (block_def )
284
-
285
- # Setter
286
- block_def = get_variable_setter_block_definition (variable )
287
- block_definitions .append (block_def )
243
+ block_definitions .append (BlockDefinition .new_variable_getter (variable ))
244
+ block_definitions .append (BlockDefinition .new_variable_setter (variable ))
288
245
289
246
return block_definitions
290
247
291
248
292
- static func get_variable_getter_block_definition (variable : VariableDefinition ) -> BlockDefinition :
293
- var block_def := BlockDefinition .new ()
249
+ static func get_property_getter_block_definition (_class_name : String , property : Dictionary ) -> BlockDefinition :
250
+ var name = BlockDefinition .PROPERTY_GETTER_NAME_FORMAT % [_class_name , property .name ]
251
+ if name in _catalog :
252
+ return _catalog [name ]
253
+ var block_definition := BlockDefinition .new_property_getter (_class_name , property , "Variables" )
254
+ _catalog [block_definition .name ] = block_definition
255
+ return block_definition
294
256
295
- block_def .name = "get_var_%s " % variable .var_name
296
- block_def .category = "Variables"
297
- block_def .type = Types .BlockType .VALUE
298
- block_def .variant_type = variable .var_type
299
- block_def .display_template = variable .var_name
300
- block_def .code_template = variable .var_name
301
-
302
- return block_def
303
257
304
-
305
- static func get_variable_setter_block_definition (variable : VariableDefinition ) -> BlockDefinition :
306
- var _type_string : String = Types .VARIANT_TYPE_TO_STRING [variable .var_type ]
307
- var block_def := BlockDefinition .new ()
308
-
309
- block_def .name = "set_var_%s " % variable .var_name
310
- block_def .category = "Variables"
311
- block_def .type = Types .BlockType .STATEMENT
312
- block_def .display_template = "Set %s to {value: %s} " % [variable .var_name , _type_string ]
313
- block_def .code_template = "%s = {value} " % variable .var_name
314
-
315
- return block_def
316
-
317
-
318
- static func get_property_getter_block_definition (variable : VariableDefinition ) -> BlockDefinition :
319
- var block_def := get_variable_getter_block_definition (variable )
320
- block_def .description = "The %s property" % variable .var_name
321
- return block_def
322
-
323
-
324
- static func get_property_setter_block_definition (variable : VariableDefinition ) -> BlockDefinition :
325
- var block_def := get_variable_setter_block_definition (variable )
326
- block_def .description = "Set the %s property" % variable .var_name
327
- return block_def
258
+ static func get_property_setter_block_definition (_class_name : String , property : Dictionary ) -> BlockDefinition :
259
+ var name = BlockDefinition .PROPERTY_SETTER_NAME_FORMAT % [_class_name , property .name ]
260
+ if name in _catalog :
261
+ return _catalog [name ]
262
+ var default_value : Variant = _FALLBACK_SET_FOR_TYPE [property .type ]
263
+ var block_definition := BlockDefinition .new_property_setter (_class_name , property , "Variables" , default_value )
264
+ _catalog [block_definition .name ] = block_definition
265
+ return block_definition
328
266
329
267
330
268
static func get_resource_block_definition (file_path : String ) -> BlockDefinition :
0 commit comments