-
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 ๐พ ๐ซ