-fixed bug (Events was called before onAddEntity callback)
This commit is contained in:
parent
d0c3926316
commit
7fa41f7671
1 changed files with 11 additions and 8 deletions
|
|
@ -2235,6 +2235,8 @@ export struct EntityManager
|
||||||
{
|
{
|
||||||
EntityID entity_id = *cast(EntityID*) event_pointer;
|
EntityID entity_id = *cast(EntityID*) event_pointer;
|
||||||
Entity* entity = id_manager.getEntityPointer(entity_id);
|
Entity* entity = id_manager.getEntityPointer(entity_id);
|
||||||
|
if(entity)
|
||||||
|
{
|
||||||
call_data.block = getMetaData(entity);
|
call_data.block = getMetaData(entity);
|
||||||
call_data.id = call_data.block.entityIndex(entity);
|
call_data.id = call_data.block.entityIndex(entity);
|
||||||
|
|
||||||
|
|
@ -2244,6 +2246,7 @@ export struct EntityManager
|
||||||
(cast(void function(ref EventCallData) nothrow @nogc) caller
|
(cast(void function(ref EventCallData) nothrow @nogc) caller
|
||||||
.callback)(call_data);
|
.callback)(call_data);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
event_pointer += events[i].size;
|
event_pointer += events[i].size;
|
||||||
}
|
}
|
||||||
block = block.next;
|
block = block.next;
|
||||||
|
|
@ -2258,11 +2261,11 @@ export struct EntityManager
|
||||||
|
|
||||||
export void commit()
|
export void commit()
|
||||||
{
|
{
|
||||||
updateEvents();
|
|
||||||
id_manager.optimize();
|
id_manager.optimize();
|
||||||
updateBlocks();
|
updateBlocks();
|
||||||
removeEntities();
|
removeEntities();
|
||||||
changeEntities();
|
changeEntities();
|
||||||
|
updateEvents();
|
||||||
event_manager.clearEvents();
|
event_manager.clearEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue