Previously Exits contained references to "passage" entities that had
a destination, and optionally a closable component. This caused a
couple of issues:
To connect two room entities, you needed two passage entities to
create a bi-directional link (which is most common)
This causes the number of entities in the system to balloon
when we pull in a map of ~10k rooms (ended up with 30k
entities)
When you opened a door in one room, the door on the other side
would still be closed because the closed state resided in each
independent passage entity
So to fix both of these issues, I tossed out the idea of a passage.
For each direction from a room, the Exits component has a destination
in that direction (entity id), and optionally a door entity that
maintains the closable component for both sides of the door.
Previously Exits contained references to "passage" entities that had a destination, and optionally a closable component. This caused a couple of issues:
So to fix both of these issues, I tossed out the idea of a passage.
For each direction from a room, the Exits component has a destination in that direction (entity id), and optionally a door entity that maintains the closable component for both sides of the door.
fixes #12