Skip to content

Commit 0d0112e

Browse files
authored
Merge pull request #337 from urbit-pilled/add_advanced
Added advanced mode
2 parents a9c7193 + 6571f15 commit 0d0112e

File tree

4 files changed

+24
-0
lines changed

4 files changed

+24
-0
lines changed

addons/block_code/code_generation/block_definition.gd

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ const FORMAT_STRING_PATTERN = "\\[(?<out_parameter>[^\\]]+)\\]|\\{const (?<const
2828
## Empty except for blocks that have a defined scope
2929
@export var scope: String
3030

31+
@export var is_advanced: bool
32+
3133
@export var extension_script: GDScript
3234

3335
static var _display_template_regex := RegEx.create_from_string(FORMAT_STRING_PATTERN)
@@ -46,6 +48,7 @@ func _init(
4648
p_signal_name: String = "",
4749
p_scope: String = "",
4850
p_extension_script: GDScript = null,
51+
p_is_advanced: bool = false,
4952
):
5053
name = p_name
5154
target_node_class = p_target_node_class
@@ -59,6 +62,7 @@ func _init(
5962
signal_name = p_signal_name
6063
scope = p_scope
6164
extension_script = p_extension_script
65+
is_advanced = p_is_advanced
6266

6367

6468
func create_block_extension() -> BlockExtension:

addons/block_code/ui/main_panel.gd

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ func _on_delete_node_button_pressed():
8686
dialog.connect("confirmed", _on_delete_dialog_confirmed.bind(_context.block_code_node))
8787

8888

89+
func _on_advanced_checkbox_toggled(is_advanced: bool):
90+
_picker.set_advanced(is_advanced)
91+
_picker.reload_blocks()
92+
93+
8994
func _on_delete_dialog_confirmed(block_code_node: BlockCode):
9095
var parent_node = block_code_node.get_parent()
9196

addons/block_code/ui/main_panel.tscn

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ unique_name_in_owner = true
6060
layout_mode = 2
6161
size_flags_horizontal = 3
6262

63+
[node name="AdvancedCheckBox" type="CheckBox" parent="MarginContainer/HBoxContainer/ScriptVBox/HBoxContainer"]
64+
layout_mode = 2
65+
text = "Advanced"
66+
6367
[node name="ShowScriptButton" type="Button" parent="MarginContainer/HBoxContainer/ScriptVBox/HBoxContainer"]
6468
layout_mode = 2
6569
size_flags_horizontal = 0
@@ -119,6 +123,7 @@ block_canvas_path = NodePath("../PickerSplit/MarginContainer/VBoxContainer/Block
119123

120124
[connection signal="pressed" from="MarginContainer/HBoxContainer/ScriptVBox/HBoxContainer/ShowScriptButton" to="." method="_on_show_script_button_pressed"]
121125
[connection signal="pressed" from="MarginContainer/HBoxContainer/ScriptVBox/HBoxContainer/DeleteNodeButton" to="." method="_on_delete_node_button_pressed"]
126+
[connection signal="toggled" from="MarginContainer/HBoxContainer/ScriptVBox/HBoxContainer/AdvancedCheckBox" to="." method="_on_advanced_checkbox_toggled"]
122127
[connection signal="add_block_code" from="MarginContainer/HBoxContainer/ScriptVBox/MarginContainer/PickerSplit/MarginContainer/VBoxContainer/BlockCanvas" to="." method="_on_block_canvas_add_block_code"]
123128
[connection signal="open_scene" from="MarginContainer/HBoxContainer/ScriptVBox/MarginContainer/PickerSplit/MarginContainer/VBoxContainer/BlockCanvas" to="." method="_on_block_canvas_open_scene"]
124129
[connection signal="replace_block_code" from="MarginContainer/HBoxContainer/ScriptVBox/MarginContainer/PickerSplit/MarginContainer/VBoxContainer/BlockCanvas" to="." method="_on_block_canvas_replace_block_code"]

addons/block_code/ui/picker/picker.gd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ var scroll_tween: Tween
3838

3939
var _category_buttons: Dictionary # String, BlockCategoryButton
4040
var _category_displays: Dictionary # String, BlockCategoryDisplay
41+
var _advanced_mode: bool = false
4142

4243

4344
func _ready() -> void:
@@ -74,6 +75,10 @@ func _update_block_components():
7475

7576
for category in block_categories:
7677
var block_definitions := _context.block_script.get_blocks_in_category(category)
78+
79+
if not _advanced_mode:
80+
block_definitions = block_definitions.filter(func(definition): return not definition.is_advanced)
81+
7782
var order_override = CATEGORY_ORDER_OVERRIDE.get(category.name)
7883
if order_override:
7984
block_definitions.sort_custom(_sort_blocks_by_list_order.bind(order_override))
@@ -136,3 +141,8 @@ func _category_selected(category_name: String):
136141

137142
func set_collapsed(collapsed: bool):
138143
_widget_container.visible = not collapsed
144+
145+
146+
func set_advanced(advanced: bool):
147+
_advanced_mode = advanced
148+
reload_blocks()

0 commit comments

Comments
 (0)