From 71552d53c688388510bab7cd1aaa65250b4317e0 Mon Sep 17 00:00:00 2001 From: Rendo Date: Sat, 5 Jul 2025 22:47:40 +0500 Subject: [PATCH] Delete button --- addons/pvzadventure/icons/delete.png | Bin 0 -> 174 bytes addons/pvzadventure/icons/delete.png.import | 34 +++++++++++ .../pvzadventure/scenes/adventure_editor.tscn | 4 +- .../scripts/AdventureResourceInspector.cs | 14 ++++- resources/levels/testlvl.tres | 56 +----------------- 5 files changed, 52 insertions(+), 56 deletions(-) create mode 100644 addons/pvzadventure/icons/delete.png create mode 100644 addons/pvzadventure/icons/delete.png.import diff --git a/addons/pvzadventure/icons/delete.png b/addons/pvzadventure/icons/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c6f31ccc454143ce71bf138551fc4ce9c59368 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|GCW-zLo9mN z2A>u^pupjMXW?)D7Xn{G;$2rf3+$V47_DF^`C$>8bg=d#Wzp$P!WpFVg1 literal 0 HcmV?d00001 diff --git a/addons/pvzadventure/icons/delete.png.import b/addons/pvzadventure/icons/delete.png.import new file mode 100644 index 0000000..47132c9 --- /dev/null +++ b/addons/pvzadventure/icons/delete.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cytkldhduee4d" +path="res://.godot/imported/delete.png-5697ccae9dc8575df9addcc6c74dabd6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/pvzadventure/icons/delete.png" +dest_files=["res://.godot/imported/delete.png-5697ccae9dc8575df9addcc6c74dabd6.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 diff --git a/addons/pvzadventure/scenes/adventure_editor.tscn b/addons/pvzadventure/scenes/adventure_editor.tscn index a76af2a..5a4ed02 100644 --- a/addons/pvzadventure/scenes/adventure_editor.tscn +++ b/addons/pvzadventure/scenes/adventure_editor.tscn @@ -57,7 +57,7 @@ size_flags_vertical = 3 [node name="ResourceInspector" type="VBoxContainer" parent="VBoxContainer/WorkArea/Inspector"] layout_mode = 2 -size_flags_vertical = 10 +size_flags_vertical = 3 script = ExtResource("3_d5hwn") [node name="Tree" type="Tree" parent="VBoxContainer/WorkArea/Inspector/ResourceInspector"] @@ -77,5 +77,7 @@ layout_mode = 2 text = "New" [connection signal="ResourceChanged" from="." to="VBoxContainer/WorkArea/Inspector/ResourceInspector" method="Refresh"] +[connection signal="Refreshed" from="VBoxContainer/WorkArea/Inspector/ResourceInspector" to="." method="Save"] +[connection signal="button_clicked" from="VBoxContainer/WorkArea/Inspector/ResourceInspector/Tree" to="VBoxContainer/WorkArea/Inspector/ResourceInspector" method="OnTreeButtonClicked"] [connection signal="item_selected" from="VBoxContainer/WorkArea/Inspector/ResourceInspector/Tree" to="VBoxContainer/WorkArea/Inspector/ResourceInspector" method="OnItemSelected"] [connection signal="pressed" from="VBoxContainer/WorkArea/Inspector/ResourceInspector/ControlButtons/NewButton" to="VBoxContainer/WorkArea/Inspector/ResourceInspector" method="OnNewButtonPressed"] diff --git a/addons/pvzadventure/scripts/AdventureResourceInspector.cs b/addons/pvzadventure/scripts/AdventureResourceInspector.cs index 667782d..6e9a826 100644 --- a/addons/pvzadventure/scripts/AdventureResourceInspector.cs +++ b/addons/pvzadventure/scripts/AdventureResourceInspector.cs @@ -11,6 +11,10 @@ public partial class AdventureResourceInspector : Node private Tree tree; private AdventureLevelResource heldResource; private TreeItem root; + private Texture2D deleteTexture = ResourceLoader.Load("res://addons/pvzadventure/icons/delete.png"); + + [Signal] + public delegate void RefreshedEventHandler(); public override void _Ready() { tree = GetNode("Tree"); @@ -27,12 +31,14 @@ public partial class AdventureResourceInspector : Node tree.Clear(); root = tree.CreateItem(); root.DisableFolding = true; + EmitSignal(SignalName.Refreshed); for (int i = 0; i < heldResource.waves.Count; i++) { var item = tree.CreateItem(root); item.DisableFolding = true; item.SetText(0, string.Format("Wave {0}", i)); + item.AddButton(0, deleteTexture, tooltipText: "Removes wave. (note that number will not visibly change)"); var disorder = tree.CreateItem(item); disorder.SetText(0, "Disordered zombies"); @@ -68,7 +74,13 @@ public partial class AdventureResourceInspector : Node } else if (index == SPAWNS) { - + } } + + public void OnTreeButtonClicked(TreeItem item, int column, int id, int button_index) + { + heldResource.waves.RemoveAt(item.GetIndex()); + RefreshTree(); + } } diff --git a/resources/levels/testlvl.tres b/resources/levels/testlvl.tres index 26245d8..0023204 100644 --- a/resources/levels/testlvl.tres +++ b/resources/levels/testlvl.tres @@ -1,61 +1,9 @@ -[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=11 format=3 uid="uid://bx1wnrgickeyd"] +[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=2 format=3 uid="uid://bx1wnrgickeyd"] [ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_ed2ji"] -[ext_resource type="Script" uid="uid://7rptlb5qr3b6" path="res://addons/pvzadventure/WaveData.cs" id="2_46l53"] - -[sub_resource type="Resource" id="Resource_yo1i5"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null -metadata/_custom_type_script = "uid://7rptlb5qr3b6" - -[sub_resource type="Resource" id="Resource_xqi0a"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null -metadata/_custom_type_script = "uid://7rptlb5qr3b6" - -[sub_resource type="Resource" id="Resource_ak572"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null -metadata/_custom_type_script = "uid://7rptlb5qr3b6" - -[sub_resource type="Resource" id="Resource_46l53"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null - -[sub_resource type="Resource" id="Resource_vfl7c"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null - -[sub_resource type="Resource" id="Resource_pdnxq"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null - -[sub_resource type="Resource" id="Resource_w6xpy"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null - -[sub_resource type="Resource" id="Resource_ypxtr"] -script = ExtResource("2_46l53") -zombiesDisordered = null -zombiesOrdered = null -spawns = null [resource] script = ExtResource("1_ed2ji") startSun = 0.0 -waves = [SubResource("Resource_yo1i5"), SubResource("Resource_xqi0a"), SubResource("Resource_ak572"), SubResource("Resource_46l53"), SubResource("Resource_vfl7c"), SubResource("Resource_pdnxq"), SubResource("Resource_w6xpy"), SubResource("Resource_ypxtr")] +waves = [] metadata/_custom_type_script = "uid://bximdujbkj2n4"