-
Notifications
You must be signed in to change notification settings - Fork 2
ECS Overview
This page assumes you already know enough of the architecture to know what I'm talking about,
that means you know what are Systems, Components and Resources.
If you don't, then please read this
Legend:
- 💾 Saved
- 📫 Syncronized
Common components:
- position 💾 📫
- transform 💾 📫
- name 💾 📫
- note 💾 📫
Manages background images, their display and their visibility (meaning what pixels have been by players).
Components: background_image 💾 📫
Manages grid drawing
Resources: grid 💾 📫
Manages collision between components (more or less) and queries about them (what did I touch?).
Components: interaction
Renders lights, using visibility polygons
Components: light 💾 📫
Resources: light_settings 💾 📫, local_light_settings 💾
Actually there are two, one for serialization (HostNetworkSystem) and the other for deserialization (ClientNetworkSystem).
They manage synchronization of the entities and components that request it.
Manages pin creation and rendering
Components: pin 💾 📫
Manages and notifies pins and backgrounds about player visibility.
Components: player 💾 📫, player_visible
Manages the text layer, a common place for all of the text rendering.
Updates visibility polygon of all of the entities that have a visibility component.
Components: visibility, visibility_blocker
Uses the visibility polygon to notify every entity with a visibility_aware component about who is able to see it.
Components: visibility_aware
Manages the creation and rendering of walls.
Components: wall 💾 📫