namespace Superlazy { public abstract class SLDataLoader { public delegate void LoadEvent(string fileExt, string data); protected event LoadEvent OnLoad; public void Register(LoadEvent loadAction) { OnLoad += loadAction; } public abstract void Load(); protected void Load(string fileExt, string data) { OnLoad?.Invoke(fileExt, data); } } }