-
Notifications
You must be signed in to change notification settings - Fork 117
Upgrading Checklist
DaanVanYperen edited this page Sep 22, 2014
·
17 revisions
Preparing for an API cleanup in 1.0.0, this version sees a lot of deprecated methods. You might also need to doublecheck your usages of enable/disable.
In order to provide an upgrade path as smooth as possible, the last feature release before 1.0.0 will be identical to 1.0.0 - except for the presence of deprecated methods and classes.
State changes (Entity add, remove, enable, disable) aren't reflected until the next system starts processing or a new World#process round begins, whichever comes first.
- Doublecheck systems that depend on being immediately informed of entity changes. (Systems are no longer immediately informed of created, altered or removed entities. Instead the change is delayed until
World#process()is called, or just before the next system runs). - Doublecheck if calls to
Entity#isActive,Entity#isEnabledare still appropriate (Since entity state changes are delayed, so are state checks, you might get a 'false' when you are expecting a 'true'). - Use
Entity#editwhen adding or removing components. -
before 1.0.0Replace/remove deprecated methods: -
Entity#createComponent(..)->entity.edit().create(..) -
Entity#addComponent(..)->entity.edit().add(..) -
Entity#removeComponent(..)->entity.edit().remove(..) -
Entity#changedInWorld()-> remove, handled automatically. -
Entity#addToWorld()-> remove, handled automatically. -
World#changedEntity(..)-> internally tracked by artemis now. -
World#deleteEntity(..)-> invokeEntity#deleteFromWorld().EntityEdit#deleteEntity()
Due to performance improvements there is no longer a need to have a built in enable/disable mechanic. Instead, create a component to track enable/disable state.
-
before 1.0.0Replace/remove deprecated methods with your own component solution: Entity#isEnabled()Entity#enabled(..)EntityObserver#disabled(..)EntityObserver#enabled(..)World#disable(..)World#enable(..)
Improved GWT reflection support. We now follow LibGDX naming conventions.
-
@Wirearguments will suddenly start functioning on GWT. Consider if this is appropriate in your case. -
before 1.0.0Replace/remove deprecated methods: -
@Mapper-> use @Wire instead (valid on fields and methods). -
ClassReflection#getAnnotation->ClassReflection#getDeclaredAnnotationThis returns a cross platform Annotation class, useAnnotation#getAnnotation(..)to unwrap it. -
ClassReflection#hasAnnotation->ClassReflection#isAnnotationPresent - Same goes for
FieldandMethodwrappers.
- Overview
- Concepts
- Getting Started
- Using
- More guides
- Plugins
- Game Gallery
- Tools and Frameworks
- API reference