@@ -2,6 +2,8 @@ class_name CategoryFactory
2
2
extends Object
3
3
4
4
const BlockCategory = preload ("res://addons/block_code/ui/picker/categories/block_category.gd" )
5
+ const BlockDefinition = preload ("res://addons/block_code/code_generation/block_definition.gd" )
6
+ const BlocksCatalog = preload ("res://addons/block_code/code_generation/blocks_catalog.gd" )
5
7
const Types = preload ("res://addons/block_code/types/types.gd" )
6
8
const Util = preload ("res://addons/block_code/ui/util.gd" )
7
9
const Constants = preload ("res://addons/block_code/ui/constants.gd" )
@@ -14,7 +16,7 @@ static func _category_cmp(a: BlockCategory, b: BlockCategory) -> bool:
14
16
return a .name .naturalcasecmp_to (b .name ) < 0
15
17
16
18
17
- static func get_categories (blocks : Array [Block ], extra_categories : Array [BlockCategory ] = []) -> Array [BlockCategory ]:
19
+ static func get_categories (blocks : Array [BlockDefinition ], extra_categories : Array [BlockCategory ] = []) -> Array [BlockCategory ]:
18
20
var cat_map : Dictionary = {}
19
21
var extra_cat_map : Dictionary = {}
20
22
@@ -44,59 +46,61 @@ static func get_categories(blocks: Array[Block], extra_categories: Array[BlockCa
44
46
return cats
45
47
46
48
47
- static func get_general_blocks () -> Array [Block ]:
48
- var block : Block
49
- var block_list : Array [Block ] = []
49
+ static func get_general_blocks () -> Array [BlockDefinition ]:
50
+ var block : BlockDefinition
51
+ var block_list : Array [BlockDefinition ] = []
52
+
53
+ BlocksCatalog .setup ()
50
54
51
55
# Lifecycle
52
56
for block_name in [& "ready" , & "process" , & "physics_process" , & "queue_free" ]:
53
- block = Util . instantiate_block_by_name (block_name )
57
+ block = BlocksCatalog . get_block (block_name )
54
58
block_list .append (block )
55
59
56
60
# Loops
57
61
for block_name in [& "for" , & "while" , & "break" , & "continue" , & "await_scene_ready" ]:
58
- block = Util . instantiate_block_by_name (block_name )
62
+ block = BlocksCatalog . get_block (block_name )
59
63
block_list .append (block )
60
64
61
65
# Logs
62
- block = Util . instantiate_block_by_name (& "print" )
66
+ block = BlocksCatalog . get_block (& "print" )
63
67
block_list .append (block )
64
68
65
69
# Communication
66
70
for block_name in [& "define_method" , & "call_method_group" , & "call_method_node" ]:
67
- block = Util . instantiate_block_by_name (block_name )
71
+ block = BlocksCatalog . get_block (block_name )
68
72
block_list .append (block )
69
73
70
74
for block_name in [& "add_to_group" , & "add_node_to_group" , & "remove_from_group" , & "remove_node_from_group" , & "is_in_group" , & "is_node_in_group" ]:
71
- block = Util . instantiate_block_by_name (block_name )
75
+ block = BlocksCatalog . get_block (block_name )
72
76
block_list .append (block )
73
77
74
78
# Variables
75
- block = Util . instantiate_block_by_name (& "vector2" )
79
+ block = BlocksCatalog . get_block (& "vector2" )
76
80
block_list .append (block )
77
81
78
82
# Math
79
83
for block_name in [& "add" , & "subtract" , & "multiply" , & "divide" , & "pow" , & "randf_range" , & "randi_range" , & "sin" , & "cos" , & "tan" ]:
80
- block = Util . instantiate_block_by_name (block_name )
84
+ block = BlocksCatalog . get_block (block_name )
81
85
block_list .append (block )
82
86
83
87
# Logic
84
88
for block_name in [& "if" , & "else_if" , & "else" , & "compare" , & "and" , & "or" , & "not" ]:
85
- block = Util . instantiate_block_by_name (block_name )
89
+ block = BlocksCatalog . get_block (block_name )
86
90
block_list .append (block )
87
91
88
92
# Input
89
- block = Util . instantiate_block_by_name (& "is_input_actioned" )
93
+ block = BlocksCatalog . get_block (& "is_input_actioned" )
90
94
block_list .append (block )
91
95
92
96
# Sounds
93
97
for block_name in [& "load_sound" , & "play_sound" , & "pause_continue_sound" , & "stop_sound" ]:
94
- block = Util . instantiate_block_by_name (block_name )
98
+ block = BlocksCatalog . get_block (block_name )
95
99
block_list .append (block )
96
100
97
101
# Graphics
98
102
for block_name in [& "viewport_width" , & "viewport_height" , & "viewport_center" ]:
99
- block = Util . instantiate_block_by_name (block_name )
103
+ block = BlocksCatalog . get_block (block_name )
100
104
block_list .append (block )
101
105
102
106
return block_list
0 commit comments