-
Notifications
You must be signed in to change notification settings - Fork 110
Upgrading Checklist 2.0.0
Daan van Yperen edited this page Sep 24, 2016
·
5 revisions
2.0.0 is a rework with minimal API impact. Porting should be relatively easy, unless you use entity factories. If you get stuck hop on gitter for help.
- Replace
ComponentMapper#getSafe
withComponentMapper#get()
, which is now safe. - Replace
Entity#edit().deleteEntity()
withWorld.deleteEntity(entity)
. - Migrate away from
EntityFactories
, see #428. Consider using entity deserialization instead. - Remove usages of
PackedComponent
and@PackedWeaver
. They had no benefit. - Add public no-arg constructor to all components.
- maven/gradle/ide dependencies:
- Remove dependency 'artemis-odb-processor', no longer needed.
- Include
artemis-odb-serializer
if using any serialization. - Consider impact of :
- All systems are first injected, after which all systems are initialized. Previously,
each system was injected/initialized at the same time.
- Calling
BaseSystem#process
will now run the system, even ifsetEnabled(false)
has been called.SystemInvocationStrategy
now tracks which systems are enabled/disabled. - Update custom implementations of
SystemInvocationStrategy
.- bag-of-systems now stored as a field, instead of being passed as a parameter
to
InvocationStrategy::process
-
InvocationStrategy::updateEntityStates
must be called before processing the first system. - Make
SystemInvocationStrategy
responsible for skipping disabled systems.
- bag-of-systems now stored as a field, instead of being passed as a parameter
to
- Odb managed entity references EntityLinkManager, automating cleanup, react on state changes.
- Extend the lifecycle of component types @DelayedComponentRemoval.
- Keep multi-subscription systems cleaner with @AspectDescriptor.
- kryo serializer thanks to piotr-j.
- Overview
- Concepts
- Getting Started
- Using
- More guides
- Plugins
- Game Gallery
- Tools and Frameworks
- API reference