diff --git a/addons/block_code/ui/picker/categories/block_category_button.gd b/addons/block_code/ui/picker/categories/block_category_button.gd index 06fa7fb0..62c8c71e 100644 --- a/addons/block_code/ui/picker/categories/block_category_button.gd +++ b/addons/block_code/ui/picker/categories/block_category_button.gd @@ -9,19 +9,20 @@ signal selected var category: BlockCategory @onready var _panel := %Panel -@onready var _label := %Label +@onready var _button := %Button func _ready(): if not category: category = BlockCategory.new("Example", Color.RED) + var category_title = category.name.get_slice(" |", 0) if not self.is_part_of_edited_scene(): - var new_stylebox: StyleBoxFlat = _panel.get_theme_stylebox("panel").duplicate() - new_stylebox.bg_color = category.color - _panel.add_theme_stylebox_override("panel", new_stylebox) + var texture = load("res://addons/block_code/ui/picker/categories/icons/" + category_title.to_lower() + ".svg") + _button.icon = texture + _panel.modulate = category.color - _label.text = tr(category.name) + _button.tooltip_text = tr(category_title) func _on_button_pressed(): diff --git a/addons/block_code/ui/picker/categories/block_category_button.tscn b/addons/block_code/ui/picker/categories/block_category_button.tscn index 33210926..151cf01e 100644 --- a/addons/block_code/ui/picker/categories/block_category_button.tscn +++ b/addons/block_code/ui/picker/categories/block_category_button.tscn @@ -1,57 +1,52 @@ -[gd_scene load_steps=7 format=3 uid="uid://bdtetj0gs45hv"] +[gd_scene load_steps=8 format=3 uid="uid://bdtetj0gs45hv"] [ext_resource type="Script" path="res://addons/block_code/ui/picker/categories/block_category_button.gd" id="1_pxxnl"] +[ext_resource type="Texture2D" uid="uid://g10ct6m5goi6" path="res://addons/block_code/ui/picker/categories/icons/file_broken.svg" id="2_0c1ke"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eogpc"] -bg_color = Color(1, 0, 0, 1) -corner_radius_top_left = 100 -corner_radius_top_right = 100 -corner_radius_bottom_right = 100 -corner_radius_bottom_left = 100 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_w0e7p"] +bg_color = Color(1, 1, 1, 1) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ousiv"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dgecf"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fyk0j"] bg_color = Color(1, 1, 1, 0.196078) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ha83k"] bg_color = Color(1, 1, 1, 0.392157) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dgecf"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ousiv"] [node name="BlockCategoryButton" type="MarginContainer"] -custom_minimum_size = Vector2(150, 0) -offset_right = 148.0 -offset_bottom = 32.0 script = ExtResource("1_pxxnl") -[node name="HBoxContainer" type="HBoxContainer" parent="."] -layout_mode = 2 - -[node name="MarginContainer" type="MarginContainer" parent="HBoxContainer"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -theme_override_constants/margin_left = 8 -theme_override_constants/margin_top = 8 -theme_override_constants/margin_right = 8 -theme_override_constants/margin_bottom = 8 - -[node name="Panel" type="Panel" parent="HBoxContainer/MarginContainer"] +[node name="Panel" type="Panel" parent="."] unique_name_in_owner = true layout_mode = 2 -theme_override_styles/panel = SubResource("StyleBoxFlat_eogpc") - -[node name="Label" type="Label" parent="HBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "Example" +theme_override_styles/panel = SubResource("StyleBoxFlat_w0e7p") [node name="Button" type="Button" parent="."] +unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 4 +tooltip_text = "Example" mouse_default_cursor_shape = 2 -theme_override_styles/normal = SubResource("StyleBoxEmpty_ousiv") +theme_override_styles/focus = SubResource("StyleBoxEmpty_dgecf") theme_override_styles/hover = SubResource("StyleBoxFlat_fyk0j") theme_override_styles/pressed = SubResource("StyleBoxFlat_ha83k") -theme_override_styles/focus = SubResource("StyleBoxEmpty_dgecf") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ousiv") +icon = ExtResource("2_0c1ke") +icon_alignment = 1 [connection signal="pressed" from="Button" to="." method="_on_button_pressed"] diff --git a/addons/block_code/ui/picker/categories/icons/communication.svg b/addons/block_code/ui/picker/categories/icons/communication.svg new file mode 100644 index 00000000..92258e6c --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/communication.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/communication.svg.import b/addons/block_code/ui/picker/categories/icons/communication.svg.import new file mode 100644 index 00000000..912e5739 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/communication.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0agg8648xht3" +path="res://.godot/imported/communication.svg-1c0c83fe5e428cef3e6d7d530d940e5a.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/communication.svg" +dest_files=["res://.godot/imported/communication.svg-1c0c83fe5e428cef3e6d7d530d940e5a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/file_broken.svg b/addons/block_code/ui/picker/categories/icons/file_broken.svg new file mode 100644 index 00000000..46019ebf --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/file_broken.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/file_broken.svg.import b/addons/block_code/ui/picker/categories/icons/file_broken.svg.import new file mode 100644 index 00000000..e924dcd3 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/file_broken.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g10ct6m5goi6" +path="res://.godot/imported/file_broken.svg-b3a1f0e4d54ed488e76a2c99c48cdeac.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/file_broken.svg" +dest_files=["res://.godot/imported/file_broken.svg-b3a1f0e4d54ed488e76a2c99c48cdeac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/graphics.svg b/addons/block_code/ui/picker/categories/icons/graphics.svg new file mode 100644 index 00000000..9ef0514e --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/graphics.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/graphics.svg.import b/addons/block_code/ui/picker/categories/icons/graphics.svg.import new file mode 100644 index 00000000..2db299b8 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/graphics.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfvq21qp2l363" +path="res://.godot/imported/graphics.svg-cb4f23d8db2eb8b1314d97d84a9d0f87.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/graphics.svg" +dest_files=["res://.godot/imported/graphics.svg-cb4f23d8db2eb8b1314d97d84a9d0f87.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/info.svg b/addons/block_code/ui/picker/categories/icons/info.svg new file mode 100644 index 00000000..cca6d720 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/info.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/info.svg.import b/addons/block_code/ui/picker/categories/icons/info.svg.import new file mode 100644 index 00000000..52848c97 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/info.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw76iiilnqfsn" +path="res://.godot/imported/info.svg-ea93806d088f2cc7be28fcec5db89f8b.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/info.svg" +dest_files=["res://.godot/imported/info.svg-ea93806d088f2cc7be28fcec5db89f8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/input.svg b/addons/block_code/ui/picker/categories/icons/input.svg new file mode 100644 index 00000000..b657d20a --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/input.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/input.svg.import b/addons/block_code/ui/picker/categories/icons/input.svg.import new file mode 100644 index 00000000..309dd655 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/input.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqlh8yalvn3qt" +path="res://.godot/imported/input.svg-d158f2908aeb0a9d8935fe3b05665e57.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/input.svg" +dest_files=["res://.godot/imported/input.svg-d158f2908aeb0a9d8935fe3b05665e57.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/lifecycle.svg b/addons/block_code/ui/picker/categories/icons/lifecycle.svg new file mode 100644 index 00000000..39306364 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/lifecycle.svg @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/lifecycle.svg.import b/addons/block_code/ui/picker/categories/icons/lifecycle.svg.import new file mode 100644 index 00000000..dc9371b8 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/lifecycle.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtx1jvrk0xo6u" +path="res://.godot/imported/lifecycle.svg-2dc482d9c2280183a8f4bb15c0c9238d.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/lifecycle.svg" +dest_files=["res://.godot/imported/lifecycle.svg-2dc482d9c2280183a8f4bb15c0c9238d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/log.svg b/addons/block_code/ui/picker/categories/icons/log.svg new file mode 100644 index 00000000..7d74ed20 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/log.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/log.svg.import b/addons/block_code/ui/picker/categories/icons/log.svg.import new file mode 100644 index 00000000..eee4dd9a --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/log.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deb4kkgrd4ova" +path="res://.godot/imported/log.svg-ef2cdbf25b532af4f1d65f52bac731aa.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/log.svg" +dest_files=["res://.godot/imported/log.svg-ef2cdbf25b532af4f1d65f52bac731aa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/logic.svg b/addons/block_code/ui/picker/categories/icons/logic.svg new file mode 100644 index 00000000..2baab871 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/logic.svg @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/logic.svg.import b/addons/block_code/ui/picker/categories/icons/logic.svg.import new file mode 100644 index 00000000..9ad7407f --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/logic.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xs78uxfonid0" +path="res://.godot/imported/logic.svg-a21b300b72a9f913c868fe3cc5436231.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/logic.svg" +dest_files=["res://.godot/imported/logic.svg-a21b300b72a9f913c868fe3cc5436231.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/loops.svg b/addons/block_code/ui/picker/categories/icons/loops.svg new file mode 100644 index 00000000..de2c8fac --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/loops.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/loops.svg.import b/addons/block_code/ui/picker/categories/icons/loops.svg.import new file mode 100644 index 00000000..a513a6d4 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/loops.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xfxkkou3p0re" +path="res://.godot/imported/loops.svg-13addc2492f789c9527c263b1105b7d5.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/loops.svg" +dest_files=["res://.godot/imported/loops.svg-13addc2492f789c9527c263b1105b7d5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/math.svg b/addons/block_code/ui/picker/categories/icons/math.svg new file mode 100644 index 00000000..a34d3981 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/math.svg @@ -0,0 +1,19 @@ + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/math.svg.import b/addons/block_code/ui/picker/categories/icons/math.svg.import new file mode 100644 index 00000000..e8241e15 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/math.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjwntrfvngo35" +path="res://.godot/imported/math.svg-e06e607e874f8e9cf837b4276af4d81d.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/math.svg" +dest_files=["res://.godot/imported/math.svg-e06e607e874f8e9cf837b4276af4d81d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/physics.svg b/addons/block_code/ui/picker/categories/icons/physics.svg new file mode 100644 index 00000000..42971c42 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/physics.svg @@ -0,0 +1,36 @@ + + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/physics.svg.import b/addons/block_code/ui/picker/categories/icons/physics.svg.import new file mode 100644 index 00000000..e1958b04 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/physics.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8isr3pc5m4mi" +path="res://.godot/imported/physics.svg-c4622c08e5d834cb7cad9fd565c1e6ee.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/physics.svg" +dest_files=["res://.godot/imported/physics.svg-c4622c08e5d834cb7cad9fd565c1e6ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/sounds.svg b/addons/block_code/ui/picker/categories/icons/sounds.svg new file mode 100644 index 00000000..804e349a --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/sounds.svg @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/sounds.svg.import b/addons/block_code/ui/picker/categories/icons/sounds.svg.import new file mode 100644 index 00000000..60ecb483 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/sounds.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://81pkn6w7wkba" +path="res://.godot/imported/sounds.svg-f3d6294ef0f3eb318efc7e70a9f70fcd.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/sounds.svg" +dest_files=["res://.godot/imported/sounds.svg-f3d6294ef0f3eb318efc7e70a9f70fcd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/transform.svg b/addons/block_code/ui/picker/categories/icons/transform.svg new file mode 100644 index 00000000..93e92eb1 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/transform.svg @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/transform.svg.import b/addons/block_code/ui/picker/categories/icons/transform.svg.import new file mode 100644 index 00000000..dfdea522 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/transform.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rkbwr5ea2npu" +path="res://.godot/imported/transform.svg-80edfaead8f509c7ca7a48233cb22999.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/transform.svg" +dest_files=["res://.godot/imported/transform.svg-80edfaead8f509c7ca7a48233cb22999.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/ui.svg b/addons/block_code/ui/picker/categories/icons/ui.svg new file mode 100644 index 00000000..11dc3e6e --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/ui.svg @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/ui.svg.import b/addons/block_code/ui/picker/categories/icons/ui.svg.import new file mode 100644 index 00000000..c923b2b1 --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/ui.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpdpycplq4kmp" +path="res://.godot/imported/ui.svg-c0a42499bbf6afa2f50e6c80eb2dc59f.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/ui.svg" +dest_files=["res://.godot/imported/ui.svg-c0a42499bbf6afa2f50e6c80eb2dc59f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/categories/icons/variables.svg b/addons/block_code/ui/picker/categories/icons/variables.svg new file mode 100644 index 00000000..b98c742b --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/variables.svg @@ -0,0 +1,19 @@ + + + + + + + diff --git a/addons/block_code/ui/picker/categories/icons/variables.svg.import b/addons/block_code/ui/picker/categories/icons/variables.svg.import new file mode 100644 index 00000000..d682880c --- /dev/null +++ b/addons/block_code/ui/picker/categories/icons/variables.svg.import @@ -0,0 +1,38 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0nt5beum2fx" +path="res://.godot/imported/variables.svg-6bd1cd59f9edcd10c2b7ea75832535b3.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://addons/block_code/ui/picker/categories/icons/variables.svg" +dest_files=["res://.godot/imported/variables.svg-6bd1cd59f9edcd10c2b7ea75832535b3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=false diff --git a/addons/block_code/ui/picker/picker.gd b/addons/block_code/ui/picker/picker.gd index 22783a44..92ffafdf 100644 --- a/addons/block_code/ui/picker/picker.gd +++ b/addons/block_code/ui/picker/picker.gd @@ -73,6 +73,7 @@ func _update_block_components(): for block_category_display: BlockCategoryDisplay in _category_displays.values(): block_category_display.hide() + var unique_category_prefixes: Array[String] for category in block_categories: var block_definitions := _context.block_script.get_blocks_in_category(category) @@ -83,10 +84,12 @@ func _update_block_components(): if order_override: block_definitions.sort_custom(_sort_blocks_by_list_order.bind(order_override)) - var block_category_button := _get_or_create_block_category_button(category) - _category_list.move_child(block_category_button, -1) - if category.name == "Variables" or not block_definitions.is_empty(): - block_category_button.show() + if not unique_category_prefixes.has(category.name.get_slice(" |", 0)): + var block_category_button := _get_or_create_block_category_button(category) + _category_list.move_child(block_category_button, -1) + if category.name == "Variables" or not block_definitions.is_empty(): + block_category_button.show() + unique_category_prefixes.append(category.name.get_slice(" |", 0)) var block_category_display := _get_or_create_block_category_display(category) block_category_display.block_definitions = block_definitions diff --git a/addons/block_code/ui/picker/picker.tscn b/addons/block_code/ui/picker/picker.tscn index 893da1db..b20a3826 100644 --- a/addons/block_code/ui/picker/picker.tscn +++ b/addons/block_code/ui/picker/picker.tscn @@ -14,32 +14,28 @@ layout_mode = 2 unique_name_in_owner = true layout_mode = 2 size_flags_vertical = 3 -theme_override_constants/separation = 12 +theme_override_constants/separation = 0 [node name="CategoryMarginContainer" type="MarginContainer" parent="WidgetContainer"] layout_mode = 2 -theme_override_constants/margin_left = 0 -theme_override_constants/margin_top = 12 -theme_override_constants/margin_right = 0 -theme_override_constants/margin_bottom = 12 +size_flags_horizontal = 0 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 [node name="CategoryScroll" type="ScrollContainer" parent="WidgetContainer/CategoryMarginContainer"] layout_mode = 2 -size_flags_horizontal = 3 horizontal_scroll_mode = 0 [node name="CategoryList" type="VBoxContainer" parent="WidgetContainer/CategoryMarginContainer/CategoryScroll"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/separation = 4 +theme_override_constants/separation = 10 [node name="BlockMarginContainer" type="MarginContainer" parent="WidgetContainer"] layout_mode = 2 size_flags_horizontal = 3 -theme_override_constants/margin_left = 0 -theme_override_constants/margin_top = 12 -theme_override_constants/margin_right = 4 -theme_override_constants/margin_bottom = 12 [node name="BlockScroll" type="ScrollContainer" parent="WidgetContainer/BlockMarginContainer"] unique_name_in_owner = true