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