Update Introduction

Dawid Masiukiewicz 2021-03-07 17:13:26 +00:00
parent c988cdc951
commit 585ad8415c

@ -14,7 +14,7 @@ Library provides a possibility to add/remove entity components. That operation m
Systems execution is managed by library itself. Developer gives the **BECS** information about system priority, components and dependencies. Systems are grouped into **passes**. The purpose for **passes** is to give possibility to run different systems with different frequency (e.g. default pass run once per frame, physics pass called multiple times per frame (fixed time step) and then rendering pass). Passes call all systems assigned to them in order designated by priorities. This type of systems execution model gives library a lot information which helps to improve performance. Systems execution is managed by library itself. Developer gives the **BECS** information about system priority, components and dependencies. Systems are grouped into **passes**. The purpose for **passes** is to give possibility to run different systems with different frequency (e.g. default pass run once per frame, physics pass called multiple times per frame (fixed time step) and then rendering pass). Passes call all systems assigned to them in order designated by priorities. This type of systems execution model gives library a lot information which helps to improve performance.
Systems works on components, not entities. They iterate over each filtered entity processing selected components. Entities are filtered by components they have. There are several properties for components in system: Systems have access to components instead of entities directly. They iterate over selected components for all existing entities. Entities are filtered by contained components. There are several properties for components in system:
- Required - it's default attribute for component. System don't iterate over entities which doesn't have these components. - Required - it's default attribute for component. System don't iterate over entities which doesn't have these components.
- Optional - it's not required but system can use that components data too - Optional - it's not required but system can use that components data too
- Excluded - system will not process entities which have these components - Excluded - system will not process entities which have these components