using DaggerFramework.Audio; using DaggerFramework.Rendering; namespace DaggerFramework { public abstract class Layer { public Scene Scene { get; set; } public InputHandler Input { get; set; } public void Draw(ref Renderer renderer) => OnDraw(ref 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(ref Renderer renderer); } }