Hackable intercoms (#23984)

* Enable wire interface for intercom

* Implement BlockListening component and system

* Implement ListenWireAction

* Added cooldown/overload to mic wire pulse

* Properly persist voicemask settings when user already has one.

* Addressed requested changes

* Added wire panel open/closed visuals
This commit is contained in:
Tayrtahn
2024-01-14 00:37:28 -05:00
committed by GitHub
parent 22c0b4425d
commit 2d6d2aba0b
11 changed files with 186 additions and 0 deletions

View File

@@ -23,6 +23,7 @@
- type: Clickable
- type: InteractionOutline
- type: Appearance
- type: WiresVisuals
- type: ContainerFill
containers:
board: [ IntercomElectronics ]
@@ -46,6 +47,10 @@
map: ["enum.RadioDeviceVisualLayers.Speaker"]
shader: unshaded
visible: false
- state: panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
shader: unshaded
visible: false
- type: Transform
noRot: false
anchored: true
@@ -60,6 +65,8 @@
interfaces:
- key: enum.IntercomUiKey.Key
type: IntercomBoundUserInterface
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: Construction
graph: Intercom
node: intercom
@@ -87,6 +94,10 @@
volume: -4
- type: GenericVisualizer
visuals:
enum.WiresVisualLayers.MaintenancePanel:
enum.WiresVisualLayers.MaintenancePanel:
True: { visible: true }
False: { visible: false }
enum.PowerDeviceVisuals.Powered:
enum.PowerDeviceVisualLayers.Powered:
True: { visible: true }

View File

@@ -49,6 +49,13 @@
- !type:AirAlarmPanicWire
- !type:AtmosMonitorDeviceNetWire
- type: wireLayout
id: Intercom
wires:
- !type:PowerWireAction
- !type:SpeechWireAction
- !type:ListenWireAction
- type: wireLayout
id: FireAlarm
wires: