-Systems, Components and Events now must have proper mixin. Mixins are located in ecs.core module. (i.e. mixin ECS.Component)
-Multithreading support: *multithreaded update - updateMT(), function generates jobs to execute *added dispatch callback function to dispatch generated jobs (setJobDispachFunc) *added getID callback for get thread ID by EntityManager -added Job structure. Job has one function "execute()". -calling partial info update (required to multithreading) -multithreaded removeEntity, addCompoenents, removeComponents. Every thread has own data and remove/change lists. -multithreaded addEntity (WIP) -fixed issue with duplicating components -simpler and faster "findBlockWithFreeSpace" function -CallDataAllocator, allocator for CallDatas (used for Jobs) -fixed some bugs/issues
This commit is contained in:
parent
3a767babc0
commit
5dd24b6462
6 changed files with 519 additions and 135 deletions
|
|
@ -49,9 +49,9 @@ public:
|
|||
|
||||
export void removeAll() {
|
||||
if (array !is null) {
|
||||
foreach (ref el; array[0 .. used]) {
|
||||
/*foreach (ref el; array[0 .. used]) {
|
||||
destroy(el);
|
||||
}
|
||||
}*/
|
||||
freeData(cast(void[]) array);
|
||||
gVectorsDestroyed++;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue