24 lines
813 B
C#
24 lines
813 B
C#
using System.Reflection;
|
|
|
|
namespace Encompass.Engines
|
|
{
|
|
internal class NewComponentMessageEmitter<TComponent> : Engine where TComponent : struct, IComponent
|
|
{
|
|
public NewComponentMessageEmitter() : base()
|
|
{
|
|
sendTypes.Add(typeof(PendingComponentMessage<TComponent>));
|
|
}
|
|
|
|
public override void Update(double dt)
|
|
{
|
|
foreach (var (entity, componentID, component) in ReadComponentsFromWorld<TComponent>())
|
|
{
|
|
PendingComponentMessage<TComponent> newComponentMessage;
|
|
newComponentMessage.entity = entity;
|
|
newComponentMessage.componentID = componentID;
|
|
newComponentMessage.component = component;
|
|
SendMessage(newComponentMessage);
|
|
}
|
|
}
|
|
}
|
|
} |