## About The Pull Request
- Trapdoor remote will connect to multiple trapdoors
- Trapdoor will close automatically in 5 seconds (ctrl-clicking on a
remote will toggle autoclose)
- Additional trapdoors can be linked to the same remote by clicking on a
trapdoor with the remote
- Improved examine message to reflect how to use remote
## Why It's Good For The Game
I added ability to connect multiple trapdoors with to one remote. This
makes making trapdoor traps much easier (before that you had to connect
each trapdoor to dedicated remote and use signallers).
I also added autoclose for trapdoors so you don't need to close it
manually, so you can have like an infrared emitter that will trigger the
trap and the trap would reset automatically.
And the last addition - ability to link trapdoors manually - it just
makes it easier to add trapdoors to your remote if you missed any on the
linking step.
## Changelog
🆑
add: You can now link to multiple trapdoors with one remote
add: Trapdoor will automatically close in 5 seconds (ctrl-clicking on a
remote will toggle autoclose)
/🆑
Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward its arguments with a SendSignal() call. Now every component that want's to can also know about this happening.