* Add department-specific radio channels
This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.
ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.
IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.
The ugly is that the integer channel number is hard-coded and also shows
up in chat.
Comms are not modeled at this time. You cannot break comms (yet).
All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.
* Remove debugging print
* Convert to prototypes
* Use prototype names in headset prototype
* Adjust list style
* Document prototype fields
* cringe
* some cleanup
* colours
* Remove alphas at least
* cc
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent
* Move more ActivatableUIComponent stuff to ECS
* ActivatableUI component ignore on client
* ActivatableUI: Get rid of component interfaces where possible
* Add in adminOnly attribute for activatable UIs
This is so that porting #4926 to this will be easier
* Transition Solar Control Computer to ActivatableUI
* Move communications console to ActivatableUI
* Move cargo console to ActivatableUI
* Move ID card console to ActivatableUI
* ActivatableUI: Make things more amiable to entity tests adding components weirdly
* ActivatableUI: Use handling or lack thereof of events properly
* ActivatableUI: component dependency issue resolution stuffs
* ActivatableUISystem: Fix#5258
* More fixes because master did stuffo
* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work
* Move just a bit more code into the system, introduce a workaround for #5258
* Purge the player status detection stuff
* Oh and some obsolete stuff too
* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.
* Fixes power tests with new anchored requirements.
* Moved AnchorableComponent into construction.
AnchorableComponent now uses Transform.Anchored.
* Fixed bug with nodes, power works again.
* Adds lifetime stages to Component.
* Update Engine to v0.4.70.