Skip to content

artemis-odb-1.0.1

Compare
Choose a tag to compare
@junkdog junkdog released this 03 Oct 12:57
· 585 commits to develop since this release

1.0.x - Cherry-picking features / marketing blurb

  • A much less strict view of systems and how they're processed. It's no longer impractical creating systems which act on more complex criteria, as the framework makes fewer assumptions about what a System is.
  • Entities can be represented as com.artemis.Entity or plain int:s, the API supports both. The former might be more familiar to users, but suffers a bit in performance.
  • Less boilerplate as systems are subject to dependency injection by default. Native artemis types are auto-wired, non-artemis objects must be registered. It's also possible to supplement with custom injectors.
  • Built-in support for serializing entities to/from json. Save format can be extended via custom type serializers or POJO:s.

Upgrade checklist: https://github.com/junkdog/artemis-odb/wiki/Upgrading-Checklist-1.0.0

Change Log

Version: 1.0.1 - 2015-10-03

  • Fix: Optimized IteratingSystems were only partially rewritten. Crash on ART.

Version: 1.0.0 - 2015-10-01

  • Serialization: Removed component key integer prefix in json.
    • In case of collisions, adds an integer suffix to the key name.
  • New ArtemisPlugin API
  • New WorldConfigurationBuilder convenience class.
  • Added World.edit(int entityId)
  • Added World.create(), returns int entityId
  • Managers' inserted/removed passes Entity, again.
  • EntitySystem extends BaseEntitySystem, new BaseEntitySystems work directly on entityId:
    • IteratingSystem: EntityProcessingSystem.
    • IntervalSystem and IntervalIteratingSystem: IntervalEntity*System
    • DelayedIteratingSystem: DelayedEntityProcessingSystem
  • IteratingSystem eligible for compile-time optimizations, like EntityProcessingSystem.
  • By convention, @Wire is now implied on all systems and managers. Use @SkipWire to suppress.
  • new IntBag methods: addAll, removeValue.
  • Dropped EntityObserver methods taking single entityId.
  • Removed flyweight entities
    • No more bugs due to escaping flyweights.
    • Removed artemis-odb-debug, as it's no longer needed.
  • Manager now treated as a system.
    • Manager is now part of the BaseSystem hierarchy.
    • EntityObserver emulated via EntitySubscriptions
  • Removed deprecated methods and classes
    • Removed @Mapper
    • Removed UUID related accessors on Entity and World.
  • @PackedWeaver marked as deprecated until performance issues have been resolved.
  • EntityManager#isNew removed.
  • Passive flag on systems removed.
  • SystemInvocationStrategy#initialize added.
  • Fix: No longer possible to accidentally add multiple systems of the same type.