@@ -38,7 +38,7 @@ static func get_general_categories() -> Array[BlockCategory]:
3838 b .statement = "queue_free()"
3939 lifecycle_list .append (b )
4040
41- var lifecycle_cat : BlockCategory = BlockCategory .new ("Lifecycle" , lifecycle_list , Color ("fa5956" ))
41+ var lifecycle_category : BlockCategory = BlockCategory .new ("Lifecycle" , lifecycle_list , Color ("fa5956" ))
4242
4343 # Control
4444 var control_list : Array [Block ] = []
@@ -73,7 +73,7 @@ static func get_general_categories() -> Array[BlockCategory]:
7373 b .statement = "continue"
7474 control_list .append (b )
7575
76- var control_cat : BlockCategory = BlockCategory .new ("Control" , control_list , Color ("ffad76" ))
76+ var control_category : BlockCategory = BlockCategory .new ("Control" , control_list , Color ("ffad76" ))
7777
7878 # Test
7979 var test_list : Array [Block ] = []
@@ -88,7 +88,7 @@ static func get_general_categories() -> Array[BlockCategory]:
8888 b .statement = "func _on_body_enter(body):"
8989 test_list .append (b )
9090
91- var test_cat : BlockCategory = BlockCategory .new ("Test" , test_list , Color ("9989df" ))
91+ var test_category : BlockCategory = BlockCategory .new ("Test" , test_list , Color ("9989df" ))
9292
9393 # Signal
9494 var signal_list : Array [Block ] = []
@@ -137,7 +137,7 @@ static func get_general_categories() -> Array[BlockCategory]:
137137 b .statement = "{node} .is_in_group({group} )"
138138 signal_list .append (b )
139139
140- var signal_cat : BlockCategory = BlockCategory .new ("Signal" , signal_list , Color ("f0c300" ))
140+ var signal_category : BlockCategory = BlockCategory .new ("Signal" , signal_list , Color ("f0c300" ))
141141
142142 # Variable
143143 var variable_list : Array [Block ] = []
@@ -168,7 +168,7 @@ static func get_general_categories() -> Array[BlockCategory]:
168168 b .statement = "str({int} )"
169169 variable_list .append (b )
170170
171- var variable_cat : BlockCategory = BlockCategory .new ("Variables" , variable_list , Color ("4f975d" ))
171+ var variable_category : BlockCategory = BlockCategory .new ("Variables" , variable_list , Color ("4f975d" ))
172172
173173 # Math
174174 var math_list : Array [Block ] = []
@@ -203,7 +203,7 @@ static func get_general_categories() -> Array[BlockCategory]:
203203 b .statement = "(pow({base} , {exp} ))"
204204 math_list .append (b )
205205
206- var math_cat : BlockCategory = BlockCategory .new ("Math" , math_list , Color ("3042c5" ))
206+ var math_category : BlockCategory = BlockCategory .new ("Math" , math_list , Color ("3042c5" ))
207207
208208 # Logic
209209
@@ -229,9 +229,22 @@ static func get_general_categories() -> Array[BlockCategory]:
229229 b .statement = "(!{bool} )"
230230 logic_list .append (b )
231231
232- var logic_cat : BlockCategory = BlockCategory .new ("Logic" , logic_list , Color ("42b8e3" ))
232+ var logic_category : BlockCategory = BlockCategory .new ("Logic" , logic_list , Color ("42b8e3" ))
233233
234- return [lifecycle_cat , signal_cat , control_cat , test_cat , math_cat , logic_cat , variable_cat ]
234+ # Input
235+ var input_list : Array [Block ] = _get_input_blocks ()
236+ var input_category : BlockCategory = BlockCategory .new ("Input" , input_list , Color .SLATE_GRAY )
237+
238+ return [
239+ lifecycle_category ,
240+ signal_category ,
241+ control_category ,
242+ test_category ,
243+ math_category ,
244+ logic_category ,
245+ variable_category ,
246+ input_category ,
247+ ]
235248
236249
237250static func add_to_categories (main : Array [BlockCategory ], addition : Array [BlockCategory ]) -> Array [BlockCategory ]:
@@ -354,3 +367,30 @@ static func get_built_in_categories(_class_name: String) -> Array[BlockCategory]
354367 cats .append (class_cat )
355368
356369 return cats
370+
371+
372+ static func _get_input_blocks () -> Array [Block ]:
373+ var block_list : Array [Block ]
374+
375+ InputMap .load_from_project_settings ()
376+
377+ for action : StringName in InputMap .get_actions ():
378+ var block : Block = BLOCKS ["parameter_block" ].instantiate ()
379+ block .block_type = Types .BlockType .BOOL
380+ block .block_format = "Is action %s pressed" % action
381+ block .statement = 'Input.is_action_pressed("%s ")' % action
382+ block_list .append (block )
383+
384+ block = BLOCKS ["parameter_block" ].instantiate ()
385+ block .block_type = Types .BlockType .BOOL
386+ block .block_format = "Is action %s just pressed" % action
387+ block .statement = 'Input.is_action_just_pressed("%s ")' % action
388+ block_list .append (block )
389+
390+ block = BLOCKS ["parameter_block" ].instantiate ()
391+ block .block_type = Types .BlockType .BOOL
392+ block .block_format = "Is action %s just released" % action
393+ block .statement = 'Input.is_action_just_released("%s ")' % action
394+ block_list .append (block )
395+
396+ return block_list
0 commit comments