-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
ECS🏴Relatet to the Entity Compnent SystemRelatet to the Entity Compnent SystemEnhancement🚀New feature or requestNew feature or requestGame Engine👨💻This is related to the Game EngieneThis is related to the Game Engiene
Description
The plan is to create an ECS which will be used to store all entities and their components. Creating systems in the ECS will also be the main way for game scripts to interact with the game world.
1. Features that should be implemented before merging anything into main
- Keep track of entities
- Store components
- Query for (multiple) components
- Iterate over all entities matching a query
- Resources
2. Features that should be added soon after
- Some way of getting access to components in a type safe way from Rust.
- Optionally get handle to
Entitywith query - Add a way to create and despawn entities while a query is active
- Add a way to loop through entities twice, as in a nested for-loop. (mutably)
3. Features that would be nice to add later on
- Add support for optionally querying for components.
- Add introspection to allow the IDE to edit components.
- Manage Child & Parent relationship
- Manage Local & Global position
- Add support for filtering queries, so that you can have two mutable queries at the same time for a component if the queries are known to not give access to the same entity.
- Registering systems with required queries
- Scheduling systems (including multi-threading)
- Integration with scripting language
- Add change detection
- Events
- Optimize
Entities - Add different data structures for storing components
- Optimize stuff
Metadata
Metadata
Assignees
Labels
ECS🏴Relatet to the Entity Compnent SystemRelatet to the Entity Compnent SystemEnhancement🚀New feature or requestNew feature or requestGame Engine👨💻This is related to the Game EngieneThis is related to the Game Engiene