artemis-odb-1.0.1
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
andIntervalIteratingSystem
: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 theBaseSystem
hierarchy.- EntityObserver emulated via EntitySubscriptions
- Removed deprecated methods and classes
- Removed
@Mapper
- Removed UUID related accessors on Entity and World.
- Removed
@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.