Skip to content

KTX 1.11.0-rc3

Compare
Choose a tag to compare
@czyzby czyzby released this 02 Dec 09:22
· 54 commits to master since this release

The first stable release to support a new KTX module: ktx-artemis.


  • [UPDATE] Updated to Kotlin 1.7.22.
  • [UPDATE] Updated to Dokka 1.7.20.
  • [FEATURE] (ktx-ashley) Added tagFor<Component> utility functions that automatically create a mapper for a flag component. These properties can be used to check for Component presence within the Entity, as well as automatically add and remove Component instances upon property modification.
  • [FEATURE] (ktx-artemis) new KTX module with Artemis-odb entity component system utilities: ktx-artemis.
    • ArchetypeBuilder.add and ArchetypeBuilder.remove extension methods for adding and removing components from an ArchetypeBuilder.
    • oneOf, allOf, exclude DSL and extension methods for Aspect.Builder.
    • EntityEdit.plusAssign operator function for adding components.
    • EntityEdit.with builder function for adding components to an entity.
    • EntityEdit.remove extension function for removing components from an entity.
    • EntityTransmuterFactory.add and EntityTransmuterFactory.remove extension functions for adding and removing components from an EntityTransmuterFactory.
    • ComponentMapper.contains operator function to check if an entity has a component.
    • World.edit extension builder function to edit an entity.
    • World.entity extension builder function to create and edit an entity.
    • World.get operator function for retrieving a system which returns null if it doesn't exist.
    • World.getSystem extension function for retrieving a system which throws an exception if it doesn't exist.
    • World.mapperFor extension function for retrieving a ComponentMapper instance.
  • [FEATURE] (ktx-assets-async) AssetStorage now stores a basic path-to-type map, which allows it to support more AssetManager methods called by some AssetLoader implementations. These include:
    • AssetManager.contains(String)
    • AssetManager.get(String)
    • AssetManager.get(String, Boolean)
    • AssetManager.get(String, Class, Boolean)
    • AssetManager.getAssetType(String)
    • AssetManager.isLoaded(String)
    • AssetManager.unload(String)
    • AssetManager.getDependencies(String)
    • AssetManager.getReferenceCount(String)

Known issues:

  • [BUG] (ktx-assets-async) AssetStorage might work incorrectly on older Android devices due to access to unsupported Java APIs (ConcurrentHashMap.getOrDefault).