How I Made...
Activation Objects & Targets
The player can activate targets by interacting with their activation object. Each activation object (usually a wall switch in this demo) is wired to an activation target. Each time the object is activated by the player, its target changes state.
This generic logic is used to open doors, summon elevators and more.
A target can specify "one time activation" flag, activation delay for dramatic effect, and the sound bit to play.
As you can see in the pictures of the door and elevator properties, the target's sprite and collider can be on or off at start time and are switched to the other state upon activation.
Activation Target Combo
Provides a many-to-one logic for activating a single target if a certain pattern is achieved by combining several other targets.
For example the object "Jump Up Combo" (in the picture) has two combo scripts and therefore supports two final targets (a door, and an elevator).
In this example, if all four of the source Activation Targets are activated - the door opens. If just the second and the fourth are activated - the elevator appears.
Room Logic & Text Manager
Each room contains a room logic object with a trigger collider box. The room logic script is responsible for activating (showing) the room for the first time and for controlling the text that is displayed below the scene. The room logic displays one version of the text on the first time the player enters a room and another version on returns to the room.