Releases: libgdx/ashley
Releases · libgdx/ashley
ashley-1.3.1
Bug fix: fixed IllegalArgumentException
thrown when trying to remove components from an already reset entity. The call has no effect now. Thanks for that SgtCoDFish. Issue #77.
Bug fix: fixed family match failure due to silly silly hashing. Issue #78.
Bug fix: fixed entity.getId()
always returning 0
for recycled pooled entities. Issue #82.
Bug fix: fixed nested iteration problem caused by adding/removing entities from an entity added/removed listener handler. Issue #81.
Bug fix: fixed missing type error in GWT when using PooledEngine
. GWT should be quite smooth now. Commit cb33472.
ashley-1.3.0
- API addition: adds
IntervalSystem
andIntervalIteratingSystem
, which are updated at a fixed interval. Commit 47bf907. - API addition: adds
getEntities()
toIteratingSystem
andIntervalIteratingSystem
. Commit f1ccdbe. - API change: entities use
long
as ID. Changesentity.getIndex()
forentity.getId()
. Ids are reset to 0 after the entity is removed from the engine. Commit 6f9d2b7. - Bug fix: we finally got rid of the issues related to deleting entities and adding/removing components mid system processing. Commit a2a63f4.
- Bug fix: fixes problem with removing pooled entities. #64.
- Bug fix: fixes pooled entities not being fully reset. Issue #72.
- Bug fix: fixes broken GWT compatibility. Commit 9a01938.
ashley-1.2.0
- API addition: people requested to put
Entity#getComponent(Class)
back in, so we accepted SgtCODFish's PR.ComponentMapper
is still the most efficient and encouraged method to retrieve an entity's components. Issue #51. - API addition: added
PooledEngine#clearPools()
to delete unused entity and component pool memory. Commit 2837299. - API addition: adds
EntitySystem#setProcessing(boolean)
so as to be able to enable/disable systems at will. Commit 188239a. - API addition: adds
Engine#getSystems()
. Commit 8f54a2a. - API addition: you can now listen to entity events on a per family basis. Commit f90d129.
- Crash fix: things would blow up if you deleted entities from
IteratingSystem#processEntity()
. Commit d5ace4e. - Bug fix: removing listeners while dispatching a
Signal
would make other listeners miss the event. Thanks to vlaaad for the PR! Issue #52. - Bug fix: some entities were skipped if the user removed an entity from the engine mid system update. Removing an entity from a system by changing its components mid iteration also caused problems, which are now solved. Issue #44.
- Bug fix: there was a problem with family membership not being properly updated when removing a component from an entity was supposed to result in said entity being added to the family. This only affected families that exclude components. Issue #56.
- Internals: small performance improvement. Issue #59.
- Others: added benchmark suite to compare Ashley's performance with Atermis'. Commit d6fec98.
ashley-1.1.0
- Performance improvements: massive performance gains with O(1) component retrieval through
ComponentMapper
and the use ofArray<Entity>
rather thanIntMap<Entity>
. Unfortunately this changes the API slightly, but hopefully you guys will appreciate the benefits. Commit 8c98e97. - Complete Ashley manual: now the wiki has a lot more content, it fully covers Ashley. The rest is sugar.
- API Cleanup: renames
Family.getFamilyFor()
toFamily.getFor()
for simplicity. Commit 3182782. - Configurable pools:
PooledEngine
now accepts the initial and maximum sizes for the entity and components pools. This will add a lot more flexibility to bigger games. Commit 569f089. - Libgdx 1.3.0: Ashley now depends on gdx-core 1.3.0. Commit aa97ecb.
ashley-1.0.1
- Gradle: we got rid of the Eclipse projects and now use Gradle to manage our dependencies and build process. Commit 3cd93f2.
- Maven Central: Ashley is now available from Maven Central, which makes it dead easy for your project to depend on it. In Gradle, add the following dependency:
compile "com.badlogicgames.ashley:ashley:1.0.1"
. - Jenkins build: Mario kindly offered us some server time to make sure Ashley is always stable.
* Unit tests: there are unit tests for pretty much every component in Ashley. They are run after every commit by our Jenkins job. - Immutable collections: core Ashley classes now return
ImmutableArray
andImmutableIntMap
references, making it harder for client code to break the system. - Family filtering: now we get the collection of entities that have a set of components, have at least one component from a given set and do not have a single component from another given set. Commit 9492d14.
- GWT compatibility: you can now use Ashley for HTML5 games through the magic of GWT and Libgdx.
- Depends on gdx core: this has allowed us to remove all the duplicated optimised container classes and gives us a GWT compatible reflection API. Some might say it's a big dependency but we do believe the pros outweigh the cons. Commit 81d9a2e.
- Cleanup and bug fixes.