Files
Voile/Source/Layer.cs
2023-02-28 20:58:31 +01:00

22 lines
696 B
C#
Executable File

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);
}
}