f27e4c30ad
-updated copyright
2019-06-27 16:53:51 +00:00
86d91bc11c
Merge branch 'master' of https://Mergul@bitbucket.org/mmcomando/ecs.git
2019-06-18 22:24:52 +00:00
01ff3962b5
-added SimpleVector (vector with only ubyte data)
...
-components adding and removing now use SimpleVector (optimalization)
2019-06-18 20:12:18 +02:00
b04ab77e0c
-added components change caching (no HashMap searching during components adding or removing)
2019-06-18 17:49:51 +02:00
235bbb49f2
-block allocator now track allocated blocks and is able to free memory
...
-jobs data is now allocated in System struct
-written memory cleanup (AddressSanitizer don't show any leak)
2019-06-18 16:45:38 +02:00
9824b587fb
-fixed stack-overflow error
2019-06-18 13:57:31 +02:00
17fc7bc004
-removed __xtoHash() method
2019-06-17 18:25:36 +00:00
28dfdc0176
Merge branch 'master' of https://Mergul@bitbucket.org/mmcomando/ecs.git
2019-06-17 18:05:01 +00:00
9f125078ed
-dmd bug workaround
2019-06-17 18:04:54 +00:00
1396d0bf85
-removed -fvisibility=hidden (switch works only with betterC)
2019-06-02 11:05:38 +02:00
cb257a2360
-added export attribute
2019-05-15 08:47:30 +00:00
9220a28f7c
-fixed issue with ExcludedComponents as enum or alias
...
-removed way to add excluded component by adding attribiute @excluded (it's very stupid way)
2019-04-06 20:27:28 +00:00
fe158e1b60
-removed commited code
2019-04-06 19:24:58 +00:00
8b24ecf7d1
-some changes in registerSystem
2019-04-06 19:22:25 +00:00
a5eade669e
-removed mixin genFillInputData
2019-04-06 18:41:48 +00:00
a93529dad1
-removed commented code
2019-04-06 18:09:25 +00:00
63d5839225
-changed naming style to match whole project
2019-04-06 18:07:08 +00:00
b0760228b1
-changed assertion infos
2019-04-06 18:03:14 +00:00
71c7df2ab3
-added third mmcomando commit
2019-04-06 17:51:42 +00:00
eaf2d1581c
-removed next two mixins:
...
*catchFunc
*catchEntityFunc
2019-04-06 16:28:59 +00:00
f39d5ab403
-removed next mixin genParamsChecking()
2019-04-06 15:30:49 +00:00
fd6e6c0355
-changed naming style to match whole project
2019-04-06 15:11:44 +00:00
bf8fac84cf
-removed comments
2019-04-06 15:03:29 +00:00
e7d3d08feb
-fixed mmcomando commit bug
2019-04-06 15:02:07 +00:00
be5de2ae9c
-added second mmcommando commit
...
-removed some stupid feature
2019-04-06 14:47:33 +00:00
dbdbdb35e1
-added assert message
2019-04-06 14:36:50 +00:00
7e7658af3b
-added first mmcommando commit
2019-04-06 14:24:31 +00:00
77f67004dd
-removed string_intern
...
-removed unused traits
2019-04-06 14:15:02 +00:00
201681e4ca
-fixed small issue, now Template.getComponent should return null if component doesn't exist in template
2019-04-04 17:54:39 +02:00
0608fe6e89
-added new listener callback: onChangeEntity. Callback is called when entity optional components are changed. There is no info about which components are changed (added/removed), but should be in the future).This is probably slowest callback.
2019-03-28 20:25:08 +01:00
7a33e4f94f
-renamed callbacks:
...
*onAdd -> onAddEntity
*onRemove -> onRemoveEntity
*update -> onUpdate
2019-03-28 18:01:43 +01:00
d118adc028
-code foramtted with dfmt
2019-03-28 17:57:28 +01:00
280d7b8ec4
-onAdd/onRemove order is determined by system priority
...
-fixed many bug with onAdd/onRemove
-onAdd/onRemove now works even when system haven't update callback
2019-03-28 12:19:30 +01:00
c64d621f0e
-fixed critical bug with onAdd callback
2019-03-26 13:13:32 +00:00
4ac80d7025
-onAdd/onRemove called when components are changed
2019-03-24 14:42:21 +00:00
e4be23ee96
-onRemove() called when entity is removed from EntityManager
2019-03-23 21:47:39 +00:00
1841c9c244
-working onAdd listener when new Entity is added to EntityManager
2019-03-23 20:34:50 +00:00
3aad89fc56
-fillInputData created as local function in register process
...
-call onAdd (WIP)
2019-03-23 20:18:26 +00:00
6bbc8b5152
-git now should ignore .dub/dub.json
...
-added onAdd/onRemove to test
-added onAdd/onRemove callbacks for system
-generating onAdd/onRemove listeners
2019-03-23 19:48:24 +00:00
a82ca1e659
-some documentation changes
...
-added Component onCreate callback which is called after allocating entity from template
2019-03-21 13:19:03 +01:00
b18440e9bc
-fixed problems with new DMD
2019-01-16 13:51:28 +01:00
dec0582398
-removed some unittest and unused code
2018-11-07 19:53:33 +01:00
204ce9dc79
-almost every funtion is marked as @nogc and nothrow (only problem with HashMap)
2018-11-02 16:36:38 +01:00
fef55bd790
-removed imports (temporarly)
2018-11-02 15:52:35 +01:00
60f720151e
-changed .gitignore
...
-imports temporarly removed from repo
2018-11-02 15:47:50 +01:00
3bc5ff2423
-changes in gitignore
...
-changed "absent" to "excluded" everywhere
-added Events support:
*systems are scanned by handleEvent() function
*generate system callers for events
*event sending have (untested) multithreaded support
*EventInput structure in System has input components for event
2018-11-02 15:39:46 +01:00
16a5696840
-removed UpdateBySystems version switch (it's now default behaviour)
...
-beginRegister() and endRegister() was added (every register functions must be called between this calls, update calls can't be called there)
-SystemCallers and Systems dependecies is rebuild always in endRegister();
-beginRegister() clear all SystemCallers and Systems dependencies
-possibility to get System ID and execution state
-JobGroup has now pointer to it's parent (SystemCaller)
-SystemCaller clean up destructor
2018-10-27 17:34:27 +02:00
f666dfd1d5
-onBegin() return type was changed from void to bool
...
-disabling system execution in onBegin() funciton
2018-10-26 17:43:51 +02:00
d3f7593afc
-BlockAllocator is no longer template
...
-Multithreaded IDManager.getNewID()
*use implementation with free IDs stack (instead of classic pool)
-support for multiple UpdatePasses. Passes are added by name, and must be called between begin() end() functions.
-removed mutex from addEntity()
-commit() function added. Used to commit all changes made while update() call. Called automatically by begin() end() functions.
2018-10-25 11:46:08 +02:00
430ce8074c
-multithreading jobs dependencies:
...
*system has arrays of read only and modified components
*new attribute "readonly" usable for variables which should be visible as read only. Const can be used instead for enable checks by compiler.
*JobGroup was added. JobGroup contain array of jobs and array of dependencies (JobGroups)
*new function generateDependencies() generate exclusion between systems, and then generate dependencies for SystemCallers and JobGroups
-fixed issue with jobs generating (empty blocks with only newly added entities was used, and led to crash)
-fixed small typo mistake
2018-10-20 11:42:29 +02:00