dartemis 0.7.2 dartemis: ^0.7.2 copied to clipboard
An Entity System Framework for game development. Based on Artemis.
Changelog #
##0.7.2
Bugfixes #
- removing an entity multiple times caused it to be added to the entity pool multiple times ##0.7.1
Internal #
- upgraded dependencies
##0.7.0
Breaking API Changes #
- renamed
Poolable
toPooled
- renamed
ComponentPoolable
toPooledComponent
- removed
FastMath
andUtils
, unrelated to ECS - removed
removeAll
fromBag
time
andframe
getters have been moved fromWorld
toEntitySystem
,World
has methods instead
API Changes #
- deprecated
ComponentMapper
useMapper
instead - deprecated
ComponentMapper#get(Entity)
, useMapper[Entity]
instead - properties have been added to the
World
, can be accessed using the[]
operator System
s can be assigned to a group when adding them to theWorld
,Word.process()
can be called for a specific group
Enhancements #
- performance improvement when removing entities
Bugfixes #
- DelayedEntityProcessingSystem keeps running until all current entities have expired
Internal #
- upgraded dependencies
##0.6.0
API Changes #
Bag
isIterable
- removed
ReadOnlyBag
, when upgrading to 0.6.0 replace every occurence ofReadOnlyBag
withIterable
##0.5.2
Enhancements #
- injection works for
Manager
s initialize()
in theManager
is no longer abstract (same as inEntitySystem
)World.createEntity
got an optional paramter to create anEntity
with components- new function
World.createAndAddEntity
which adds theEntity
to the world after creation
Bugfixes #
- added getter for the
World
inManager
- the uniqueId of an
Entity
was always 0, not very unique
##0.5.1
Internal #
- added version constraint for release of Dart
##0.5.0
Enhancements #
- more injection, less boilerplate (when using dartemis_mirrors)
- Instances of
ComponentMapper
no longer need to be created in theinitialize
-method of a system, they will be injected Manager
s andEntitySystem
s no longer need to be requested from theWorld
in theinitialize
-method of a system, they will be injected
- Instances of
##0.4.2
Bugfixes #
EntityManager.isEnabled()
no longer fails if the bag of disabled entities is smaller than the id of the checked entity
Enhancements #
- added getters for current
time
andframe
toWorld
##0.4.1
Bugfixes #
World.deleteAllEntites()
did not work if there was already a deleted entity- writing to the
Bag
by index doesn't make it smaller anymore
##0.4.0
API Changes #
- swapped parameters of
Tagmanager.register
- replaced
ImmutableBag
withReadOnlyBag
, added getter forReadOnlyBag
toBag
- changed
FreeComponents
toObjectPool
- old
Component
has changed, there are two different kinds of components now:- instances of classes extending
ComponentPoolable
will be added to theObjectPool
when they are removed from anEntity
(preventing garbage collection and allowing reuse) - instances of classes extending
Component
will not be added to theObjectPool
when they are removed from anEntity
(allowing garbage collection)
- instances of classes extending
Enhancements #
- added function
deleteAllEntities
toWorld
IntervalEntitySystem
has a getter for thedelta
since the systm was processed last- updated to work with Dart M4
Bugfixes #
GroupManager.isInGroup
works if entity is in no group