newlon/addons/pvzadventure/scripts/AdventureEditor.cs
2025-07-17 18:11:00 +05:00

33 lines
746 B
C#

using Godot;
[Tool]
public partial class AdventureEditor : MarginContainer
{
public AdventureLevelResource editedResource;
public string editedPath;
[Signal]
public delegate void ResourceChangedEventHandler(AdventureLevelResource to);
[Signal]
public delegate void ReloadRequestedEventHandler();
[Signal]
public delegate void HardReloadRequestedEventHandler();
public void Reload()
{
EmitSignal(SignalName.ReloadRequested);
}
public void HardReload()
{
editedResource = ResourceLoader.Load<AdventureLevelResource>(editedPath);
EmitSignal(SignalName.ResourceChanged, editedResource);
EmitSignal(SignalName.HardReloadRequested);
Reload();
}
public void Save()
{
ResourceSaver.Save(editedResource, editedPath);
}
}