encompass-cs/encompass-cs/Renderer.cs

43 lines
1.2 KiB
C#
Raw Normal View History

2019-06-19 21:14:44 +00:00
using System;
using System.Collections.Generic;
using System.Text;
namespace Encompass
{
public abstract class Renderer
{
private EntityManager entityManager;
private ComponentManager componentManager;
internal void AssignEntityManager(EntityManager entityManager)
{
this.entityManager = entityManager;
}
internal void AssignComponentManager(ComponentManager componentManager)
{
this.componentManager = componentManager;
}
protected bool EntityExists(Guid entityID)
{
return entityManager.EntityExists(entityID);
}
2019-06-19 21:14:44 +00:00
protected Entity GetEntity(Guid entityID)
{
return entityManager.GetEntity(entityID);
}
protected IEnumerable<ValueTuple<Guid, TComponent>> ReadComponents<TComponent>() where TComponent : struct, IComponent
2019-06-19 21:14:44 +00:00
{
return componentManager.GetActiveComponentsByType<TComponent>();
}
protected ValueTuple<Guid, TComponent> ReadComponent<TComponent>() where TComponent : struct, IComponent
2019-06-19 21:14:44 +00:00
{
return componentManager.GetActiveComponentByType<TComponent>();
}
}
}