-
Notifications
You must be signed in to change notification settings - Fork 117
EntitySystem
A system is typically an implementation that iteratively operates on a group of entities that share common components (typically EntityProcessingSystem), or just general game logic (typically VoidEntitySystem).
Artemis provides several abstract classes to base your Systems on.
- VoidEntitySystem - Game logic that does not require entity matching.
- EntityProcessingSystem - Process entities matching aspect each tick.
- IntervalEntityProcessingSystem - Process entities matching aspect at fixed ms interval.
- DelayedEntityProcessingSystem - Process entities matching aspect at varied ms interval.
world = new World();
world.setSystem(new MyCustomSystem1());
..
world.setSystem(new MyCustomSystemN());
world.initialize();
Your registered systems are called in sequence each time you run:
world.setDelta(float delta)
world.process()
Systems can communicate with other systems. Retrieve other systems via @Wire. You can define whatever methods you deem necessary for inter-system communication.
Manually initialize aspects of your system by overriding the Initialize method.
Override checkProcessing
to return false if you want to suspend system processing.
You can override added and removed methods in each system. There you will be notified about entities that were either added into or removed from the system.
- Overview
- Concepts
- Getting Started
- Using
- More guides
- Plugins
- Game Gallery
- Tools and Frameworks
- API reference