Web assembly #6

Merged
Mergul merged 38 commits from WebAssembly into master 2020-04-14 17:44:27 +02:00
Showing only changes of commit 7fa41f7671 - Show all commits

View file

@ -2235,14 +2235,17 @@ 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);
call_data.block = getMetaData(entity); if(entity)
call_data.id = call_data.block.entityIndex(entity);
foreach (caller; events[i].callers)
{ {
call_data.system_pointer = caller.system.m_system_pointer; call_data.block = getMetaData(entity);
(cast(void function(ref EventCallData) nothrow @nogc) caller call_data.id = call_data.block.entityIndex(entity);
.callback)(call_data);
foreach (caller; events[i].callers)
{
call_data.system_pointer = caller.system.m_system_pointer;
(cast(void function(ref EventCallData) nothrow @nogc) caller
.callback)(call_data);
}
} }
event_pointer += events[i].size; event_pointer += events[i].size;
} }
@ -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();
} }