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 : struct, IComponent, IDrawComponent { public abstract void Render(Entity entity, TComponent drawComponent); internal void InternalRender(Entity entity, IComponent component) { Render(entity, (TComponent)component); } } }