-changed naming style to match whole project
This commit is contained in:
parent
bf8fac84cf
commit
fd6e6c0355
1 changed files with 15 additions and 15 deletions
|
|
@ -251,50 +251,50 @@ class EntityManager
|
|||
static void callEventHandler(Type)(ref EventCallData data)
|
||||
{
|
||||
Sys.EventInput input;
|
||||
Sys* dataSystem = cast(Sys*) data.system_pointer;
|
||||
Sys* data_system = cast(Sys*) data.system_pointer;
|
||||
EntityInfo* info = data.block.type_info;
|
||||
|
||||
alias EventFields = Fields!(Sys.EventInput);
|
||||
foreach (eventFieldNum, ref eventField; input.tupleof)
|
||||
foreach (ref event_field; input.tupleof)
|
||||
{
|
||||
alias EventFieldType = Unqual!(typeof(*eventField));
|
||||
enum bool isEntity = is(EventFieldType == ecs.entity.Entity);
|
||||
alias EventFieldType = Unqual!(typeof(*event_field));
|
||||
enum bool is_entity = is(EventFieldType == ecs.entity.Entity);
|
||||
|
||||
static if (isEntity)
|
||||
static if (is_entity)
|
||||
{
|
||||
eventField = cast(Entity*) data.block.dataBegin() + data.id;
|
||||
event_field = cast(Entity*) data.block.dataBegin() + data.id;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
enum long indexInEntitiesData = getIndexOfTypeInEntitiesData!(Sys.EntitiesData,
|
||||
enum long index_in_entities_data = getIndexOfTypeInEntitiesData!(Sys.EntitiesData,
|
||||
EventFieldType);
|
||||
static assert(indexInEntitiesData != -1,
|
||||
static assert(index_in_entities_data != -1,
|
||||
"Component present in EventInput has to be present in EntitiesData!"); // Type present in EventInput has to be present in EntitiesData
|
||||
|
||||
enum bool isOptional = hasUDA!(Sys.EntitiesData.tupleof[indexInEntitiesData],
|
||||
enum bool is_optional = hasUDA!(Sys.EntitiesData.tupleof[index_in_entities_data],
|
||||
"optional");
|
||||
static if (isOptional)
|
||||
static if (is_optional)
|
||||
{
|
||||
eventField = null;
|
||||
event_field = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
eventField = cast(EventFieldType*)(cast(void*) data.block
|
||||
event_field = cast(EventFieldType*)(cast(void*) data.block
|
||||
+ info.deltas[EventFieldType.component_id]
|
||||
+ data.id * EventFieldType.sizeof);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
dataSystem.handleEvent(input, *cast(Type*) data.event);
|
||||
data_system.handleEvent(input, *cast(Type*) data.event);
|
||||
}
|
||||
|
||||
static void setEventCallers(Sys)(ref System system)
|
||||
{
|
||||
enum allEventHandlers = __traits(getOverloads, Sys, "handleEvent").length;
|
||||
enum event_handlers_num = __traits(getOverloads, Sys, "handleEvent").length;
|
||||
system.m_event_callers = Mallocator.instance.makeArray!(
|
||||
System.EventCaller)(allEventHandlers);
|
||||
System.EventCaller)(event_handlers_num);
|
||||
|
||||
foreach (j, func; __traits(getOverloads, Sys, "handleEvent"))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue