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(editedPath); EmitSignal(SignalName.ResourceChanged, editedResource); EmitSignal(SignalName.HardReloadRequested); Reload(); } public void Save() { ResourceSaver.Save(editedResource, editedPath); } }