Skip to content

Upgrading Checklist 2.0.0

Daan van Yperen edited this page Aug 26, 2016 · 5 revisions

WIP

Upgrading from older versions to odb 2.0.0

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.

checklist

  • Replace ComponentMapper#getSafe with ComponentMapper#get(), which is now safe.
  • Replace Entity#edit().deleteEntity() with World.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 if setEnabled(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.

Notable new features

Clone this wiki locally