Easy refresh

This commit is contained in:
Rendo 2025-07-17 12:35:38 +05:00
commit 05061b6ba6
4 changed files with 23 additions and 11 deletions

View file

@ -32,13 +32,11 @@ layout_mode = 2
layout_mode = 2 layout_mode = 2
text = "File" text = "File"
switch_on_hover = true switch_on_hover = true
item_count = 3 item_count = 2
popup/item_0/text = "New" popup/item_0/text = "New"
popup/item_0/id = 0 popup/item_0/id = 0
popup/item_1/text = "Save" popup/item_1/text = "Open"
popup/item_1/id = 1 popup/item_1/id = 1
popup/item_2/text = "Open"
popup/item_2/id = 2
script = ExtResource("2_d5hwn") script = ExtResource("2_d5hwn")
[node name="FileDialog" type="FileDialog" parent="Editor/StatusBar/HBoxContainer/FileButton"] [node name="FileDialog" type="FileDialog" parent="Editor/StatusBar/HBoxContainer/FileButton"]

View file

@ -8,11 +8,18 @@ public partial class AdventureEditor : MarginContainer
[Signal] [Signal]
public delegate void ResourceChangedEventHandler(AdventureLevelResource to); public delegate void ResourceChangedEventHandler(AdventureLevelResource to);
[Signal]
public delegate void ReloadRequestedEventHandler();
public void Reload() public void Reload()
{
EmitSignal(SignalName.ReloadRequested);
}
public void HardReload()
{ {
editedResource = ResourceLoader.Load<AdventureLevelResource>(editedPath); editedResource = ResourceLoader.Load<AdventureLevelResource>(editedPath);
EmitSignal(SignalName.ResourceChanged, editedResource); EmitSignal(SignalName.ResourceChanged, editedResource);
Reload();
} }
public void Save() public void Save()

View file

@ -4,8 +4,7 @@ using Godot;
public partial class FileButton : MenuButton public partial class FileButton : MenuButton
{ {
const int NEWFILE = 0; const int NEWFILE = 0;
const int SAVEFILE = 1; const int OPENFILE = 1;
const int OPENFILE = 2;
private AdventureEditor editor; private AdventureEditor editor;
private FileDialog dialog; private FileDialog dialog;
private int chosenOption = -1; private int chosenOption = -1;
@ -27,10 +26,6 @@ public partial class FileButton : MenuButton
dialog.PopupCentered(); dialog.PopupCentered();
dialog.FileMode = FileDialog.FileModeEnum.SaveFile; dialog.FileMode = FileDialog.FileModeEnum.SaveFile;
} }
else if (index == SAVEFILE)
{
editor.Save();
}
else if (index == OPENFILE) else if (index == OPENFILE)
{ {
dialog.PopupCentered(); dialog.PopupCentered();
@ -43,10 +38,11 @@ public partial class FileButton : MenuButton
if (chosenOption == NEWFILE) if (chosenOption == NEWFILE)
{ {
editor.Save(); editor.Save();
editor.HardReload();
} }
else if (chosenOption == OPENFILE) else if (chosenOption == OPENFILE)
{ {
editor.Reload(); editor.HardReload();
} }
} }

View file

@ -0,0 +1,11 @@
[gd_resource type="Resource" script_class="AdventureLevelResource" load_steps=2 format=3 uid="uid://bd2napw4d6tjn"]
[ext_resource type="Script" uid="uid://bximdujbkj2n4" path="res://addons/pvzadventure/AdventureLevelResource.cs" id="1_4mtvk"]
[resource]
script = ExtResource("1_4mtvk")
startSun = 50.0
wavePercentage = 0.0
standardWaveDelay = 0.0
initialWaveDelay = 0.0
waves = null