using DaggerFramework.Audio; using DaggerFramework.Rendering; namespace DaggerFramework { public abstract class Layer : IDrawable { public Scene Scene { get; set; } public InputHandler Input { get; set; } public void Draw(in Renderer renderer) => OnDraw(in renderer); public void Start() => OnStart(); public void Update(double dt) => OnUpdate(dt); public void ReceiveInput(InputHandler input) => OnInput(input); protected virtual void OnStart() { } protected virtual void OnUpdate(double dt) { } protected virtual void OnInput(InputHandler input) { } protected abstract void OnDraw(in Renderer renderer); } }