Skip to content

Releases: libgdx/ashley

ashley-1.3.1

01 Dec 22:17
Compare
Choose a tag to compare

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

01 Dec 22:19
Compare
Choose a tag to compare
  • API addition: adds IntervalSystem and IntervalIteratingSystem, which are updated at a fixed interval. Commit 47bf907.
  • API addition: adds getEntities() to IteratingSystem and IntervalIteratingSystem. Commit f1ccdbe.
  • API change: entities use long as ID. Changes entity.getIndex() for entity.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

01 Dec 22:22
Compare
Choose a tag to compare
  • 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

01 Dec 22:24
Compare
Choose a tag to compare
  • Performance improvements: massive performance gains with O(1) component retrieval through ComponentMapper and the use of Array<Entity> rather than IntMap<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() to Family.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

01 Dec 22:26
Compare
Choose a tag to compare
  • 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 and ImmutableIntMap 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.