encompass-cs/encompass-cs/Renderers/OrderedRenderer.cs

18 lines
556 B
C#

using System;
namespace Encompass
{
/// <summary>
/// OrdereredRenderer provides a structure for the common pattern of wishing to draw a specific DrawComponent at a specific layer.
/// </summary>
public abstract class OrderedRenderer<TComponent> : Renderer where TComponent : unmanaged, IDrawableComponent
{
public abstract void Render(Entity entity, in TComponent drawComponent);
internal void InternalRender(Entity entity)
{
Render(entity, GetComponent<TComponent>(entity));
}
}
}