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
text = "File"
switch_on_hover = true
item_count = 3
item_count = 2
popup/item_0/text = "New"
popup/item_0/id = 0
popup/item_1/text = "Save"
popup/item_1/text = "Open"
popup/item_1/id = 1
popup/item_2/text = "Open"
popup/item_2/id = 2
script = ExtResource("2_d5hwn")
[node name="FileDialog" type="FileDialog" parent="Editor/StatusBar/HBoxContainer/FileButton"]

View file

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

View file

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