diff --git a/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs b/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs new file mode 100644 index 0000000000..99d27b12c7 --- /dev/null +++ b/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs @@ -0,0 +1,8 @@ +using Robust.Shared.GameObjects; + +namespace Content.Client.Atmos.Components; + +[RegisterComponent] +public class PipeColorVisualsComponent : Component +{ +} diff --git a/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs b/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs new file mode 100644 index 0000000000..17f90ff4d1 --- /dev/null +++ b/Content.Client/Atmos/EntitySystems/PipeColorVisualizerSystem.cs @@ -0,0 +1,24 @@ +using Content.Client.Atmos.Components; +using Robust.Client.GameObjects; +using Content.Shared.Atmos.Piping; + +namespace Content.Client.Atmos.EntitySystems; + +public sealed class PipeColorVisualizerSystem : VisualizerSystem +{ + protected override void OnAppearanceChange(EntityUid uid, PipeColorVisualsComponent component, ref AppearanceChangeEvent args) + { + if(TryComp(uid, out var sprite) + && args.Component.TryGetData(PipeColorVisuals.Color, out var color)) + { + // T-ray scanner / sub floor runs after this visualizer. Lets not bulldoze transparency. + var layer = sprite[PipeVisualLayers.Pipe]; + layer.Color = color.WithAlpha(layer.Color.A); + } + } +} + +public enum PipeVisualLayers : byte +{ + Pipe, +} diff --git a/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs b/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs deleted file mode 100644 index 754358c84f..0000000000 --- a/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using JetBrains.Annotations; -using Robust.Client.GameObjects; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public abstract class EnabledAtmosDeviceVisualizer : AppearanceVisualizer - { - [DataField("disabledState")] - private string _disabledState = string.Empty; - [DataField("enabledState")] - private string _enabledState = string.Empty; - protected abstract object LayerMap { get; } - protected abstract Enum DataKey { get; } - - public override void OnChangeData(AppearanceComponent component) - { - base.OnChangeData(component); - - var entities = IoCManager.Resolve(); - if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) - return; - - if(component.TryGetData(DataKey, out bool enabled) && sprite.LayerMapTryGet(LayerMap, out var layer)) - sprite.LayerSetState(layer, enabled ? _enabledState : _disabledState); - } - } -} diff --git a/Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs b/Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs deleted file mode 100644 index 3fea6381fd..0000000000 --- a/Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class GasFilterVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => FilterVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/GasValveVisualizer.cs b/Content.Client/Atmos/Visualizers/GasValveVisualizer.cs deleted file mode 100644 index 4cfb7eab73..0000000000 --- a/Content.Client/Atmos/Visualizers/GasValveVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class GasValveVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => FilterVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs b/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs deleted file mode 100644 index 1eb5bbaa9e..0000000000 --- a/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class OutletInjectorVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => OutletInjectorVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs b/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs deleted file mode 100644 index 3eb507fa8a..0000000000 --- a/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class PassiveVentVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => PassiveVentVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/PipeColorVisualizer.cs b/Content.Client/Atmos/Visualizers/PipeColorVisualizer.cs deleted file mode 100644 index 7434317b88..0000000000 --- a/Content.Client/Atmos/Visualizers/PipeColorVisualizer.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; -using Robust.Client.GameObjects; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class PipeColorVisualizer : AppearanceVisualizer - { - public override void OnChangeData(AppearanceComponent component) - { - base.OnChangeData(component); - - if (!IoCManager.Resolve().TryGetComponent(component.Owner, out SpriteComponent? sprite)) - return; - - if (component.TryGetData(PipeColorVisuals.Color, out Color color)) - { - // T-ray scanner / sub floor runs after this visualizer. Lets not bulldoze transparency. - var layer = sprite[Layers.Pipe]; - layer.Color = color.WithAlpha(layer.Color.A); - } - } - - public enum Layers : byte - { - Pipe, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs b/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs deleted file mode 100644 index bf6d4a34ca..0000000000 --- a/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class PressurePumpVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => PumpVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs b/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs deleted file mode 100644 index 8ac626b17a..0000000000 --- a/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Content.Shared.Atmos.Piping.Unary.Visuals; -using JetBrains.Annotations; -using Robust.Client.GameObjects; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class ScrubberVisualizer : AppearanceVisualizer - { - private string _offState = "scrub_off"; - private string _scrubState = "scrub_on"; - private string _siphonState = "scrub_purge"; - private string _weldedState = "scrub_welded"; - private string _wideState = "scrub_wide"; - - public override void OnChangeData(AppearanceComponent component) - { - base.OnChangeData(component); - - var entities = IoCManager.Resolve(); - if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) - return; - - if (!component.TryGetData(ScrubberVisuals.State, out ScrubberState state)) - return; - - switch (state) - { - case ScrubberState.Off: - sprite.LayerSetState(ScrubberVisualLayers.Scrubber, _offState); - break; - case ScrubberState.Scrub: - sprite.LayerSetState(ScrubberVisualLayers.Scrubber, _scrubState); - break; - case ScrubberState.Siphon: - sprite.LayerSetState(ScrubberVisualLayers.Scrubber, _siphonState); - break; - case ScrubberState.Welded: - sprite.LayerSetState(ScrubberVisualLayers.Scrubber, _weldedState); - break; - case ScrubberState.WideScrub: - sprite.LayerSetState(ScrubberVisualLayers.Scrubber, _wideState); - break; - } - } - } - - public enum ScrubberVisualLayers : byte - { - Scrubber, - } -} diff --git a/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs b/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs deleted file mode 100644 index b7dfc69740..0000000000 --- a/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using Content.Shared.Atmos.Piping; -using JetBrains.Annotations; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class ThermoMachineVisualizer : EnabledAtmosDeviceVisualizer - { - protected override object LayerMap => Layers.Enabled; - protected override Enum DataKey => ThermoMachineVisuals.Enabled; - - enum Layers : byte - { - Enabled, - } - } -} diff --git a/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs b/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs deleted file mode 100644 index 57e17cab3b..0000000000 --- a/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Content.Shared.Atmos.Visuals; -using JetBrains.Annotations; -using Robust.Client.GameObjects; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Client.Atmos.Visualizers -{ - [UsedImplicitly] - public sealed class VentPumpVisualizer : AppearanceVisualizer - { - private string _offState = "vent_off"; - private string _inState = "vent_in"; - private string _outState = "vent_out"; - private string _weldedState = "vent_welded"; - - public override void OnChangeData(AppearanceComponent component) - { - base.OnChangeData(component); - - var entities = IoCManager.Resolve(); - if (!entities.TryGetComponent(component.Owner, out ISpriteComponent? sprite)) - return; - - if (!component.TryGetData(VentPumpVisuals.State, out VentPumpState state)) - return; - - switch (state) - { - case VentPumpState.Off: - sprite.LayerSetState(VentVisualLayers.Vent, _offState); - break; - case VentPumpState.In: - sprite.LayerSetState(VentVisualLayers.Vent, _inState); - break; - case VentPumpState.Out: - sprite.LayerSetState(VentVisualLayers.Vent, _outState); - break; - case VentPumpState.Welded: - sprite.LayerSetState(VentVisualLayers.Vent, _weldedState); - break; - } - } - } - - public enum VentVisualLayers : byte - { - Vent, - } -} diff --git a/Content.Server/Entry/IgnoredComponents.cs b/Content.Server/Entry/IgnoredComponents.cs index 4775b11b4d..2e4efce527 100644 --- a/Content.Server/Entry/IgnoredComponents.cs +++ b/Content.Server/Entry/IgnoredComponents.cs @@ -34,6 +34,7 @@ namespace Content.Server.Entry "KudzuVisuals", "AMEControllerVisuals", "AMEShieldingVisuals", + "PipeColorVisuals", }; } } diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml index 6f9c17991a..c719d5bda3 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml @@ -34,15 +34,17 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: pumpPressure - map: [ "enum.SubfloorLayers.FirstLayer", "enum.PressurePumpVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: PressurePumpVisualizer - disabledState: pumpPressure - enabledState: pumpPressureOn + enum.PumpVisuals.Enabled: + enabled: + True: { state: pumpPressureOn } + False: { state: pumpPressure } + - type: PipeColorVisuals - type: GasPressurePump - type: UserInterface interfaces: @@ -72,15 +74,17 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: pumpVolume - map: [ "enum.SubfloorLayers.FirstLayer", "enum.PressurePumpVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: PressurePumpVisualizer - disabledState: pumpVolume - enabledState: pumpVolumeOn + enum.PumpVisuals.Enabled: + enabled: + True: { state: pumpVolumeOn } + False: { state: pumpVolume } + - type: PipeColorVisuals - type: GasVolumePump - type: UserInterface interfaces: @@ -110,12 +114,11 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: pumpPassiveGate map: [ "enum.SubfloorLayers.FirstLayer" ] - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: GasPassiveGate - type: Construction graph: GasBinary @@ -142,15 +145,17 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: pumpManualValve - map: [ "enum.SubfloorLayers.FirstLayer", "enum.GasValveVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: GasValveVisualizer - disabledState: pumpManualValve - enabledState: pumpManualValveOn + enum.FilterVisuals.Enabled: + enabled: + True: { state: pumpManualValveOn } + False: { state: pumpManualValve } + - type: PipeColorVisuals - type: GasValve - type: NodeContainer nodes: @@ -188,12 +193,11 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeHalf - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: gasCanisterPort map: [ "enum.SubfloorLayers.FirstLayer" ] - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: GasPort - type: NodeContainer nodes: @@ -220,13 +224,18 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: vent_off - map: [ "enum.VentVisualLayers.Vent", "enum.SubfloorLayers.FirstLayer" ] - - type: Appearance + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: VentPumpVisualizer + enum.VentPumpVisuals.State: + enabled: + Off: { state: vent_off } + In: { state: vent_in } + Out: { state: vent_out } + Welded: { state: vent_welded } + - type: PipeColorVisuals - type: GasVentPump inlet: inlet outlet: outlet diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml index afc94a4915..0f1fcf5445 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/pipes.yml @@ -32,8 +32,7 @@ netsync: false visible: false - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: NodeContainer - type: AtmosUnsafeUnanchor - type: AtmosPipeColor @@ -66,7 +65,7 @@ - type: Sprite layers: - state: pipeHalf - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - type: Construction graph: GasPipe node: half @@ -85,7 +84,7 @@ - type: Sprite layers: - state: pipeStraight - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - type: Construction graph: GasPipe node: straight @@ -104,7 +103,7 @@ - type: Sprite layers: - state: pipeBend - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - type: Construction graph: GasPipe node: bend @@ -123,7 +122,7 @@ - type: Sprite layers: - state: pipeTJunction - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - type: Construction graph: GasPipe node: tjunction @@ -144,7 +143,7 @@ - type: Sprite layers: - state: pipeFourway - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - type: Construction graph: GasPipe node: fourway diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml index 99bced0865..9baee077fb 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml @@ -40,15 +40,17 @@ - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeTJunction rotation: -90 # fuck you!!! who cares - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: gasFilter - map: [ "enum.SubfloorLayers.FirstLayer", "enum.GasFilterVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: GasFilterVisualizer - disabledState: gasFilter - enabledState: gasFilterOn + enum.FilterVisuals.Enabled: + enabled: + True: { state: gasFilterOn } + False: { state: gasFilter } + - type: PipeColorVisuals - type: UserInterface interfaces: - key: enum.GasFilterUiKey.Key @@ -81,17 +83,19 @@ - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeTJunction rotation: -90 - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: gasFilterF - map: [ "enum.SubfloorLayers.FirstLayer", "enum.GasFilterVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Flippable mirrorEntity: GasFilter - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: GasFilterVisualizer - disabledState: gasFilterF - enabledState: gasFilterFOn + enum.FilterVisuals.Enabled: + enabled: + True: { state: gasFilterFOn } + False: { state: gasFilterF } + - type: PipeColorVisuals - type: NodeContainer nodes: inlet: @@ -122,15 +126,17 @@ - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeTJunction rotation: -90 - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: gasMixer - map: [ "enum.SubfloorLayers.FirstLayer", "enum.GasFilterVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: GasFilterVisualizer - disabledState: gasMixer - enabledState: gasMixerOn + enum.FilterVisuals.Enabled: + enabled: + True: { state: gasMixerOn } + False: { state: gasMixer } + - type: PipeColorVisuals - type: UserInterface interfaces: - key: enum.GasMixerUiKey.Key @@ -165,15 +171,17 @@ - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeTJunction rotation: -90 - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: gasMixerF - map: [ "enum.SubfloorLayers.FirstLayer", "enum.GasFilterVisualizer+Layers.Enabled" ] + map: [ "enum.SubfloorLayers.FirstLayer", "enabled" ] - type: Appearance + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: GasFilterVisualizer - disabledState: gasMixerF - enabledState: gasMixerFOn + enum.FilterVisuals.Enabled: + enabled: + True: { state: gasMixerFOn } + False: { state: gasMixerF } + - type: PipeColorVisuals - type: Flippable mirrorEntity: GasMixer - type: NodeContainer diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml index f0af4748b4..b12ba516f0 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml @@ -41,13 +41,19 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeHalf - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: vent_off - map: [ "enum.VentVisualLayers.Vent", "enum.SubfloorLayers.FirstLayer" ] + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] - type: Appearance + - type: PipeColorVisuals + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: VentPumpVisualizer + enum.VentPumpVisuals.State: + enabled: + Off: { state: vent_off } + In: { state: vent_in } + Out: { state: vent_out } + Welded: { state: vent_welded } - type: GasVentPump - type: Construction graph: GasUnary @@ -76,12 +82,11 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeHalf - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: vent_off map: [ "enum.SubfloorLayers.FirstLayer" ] - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: GasPassiveVent - type: Construction graph: GasUnary @@ -112,13 +117,20 @@ layers: - sprite: Structures/Piping/Atmospherics/pipe.rsi state: pipeHalf - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] + map: [ "enum.PipeVisualLayers.Pipe" ] - state: scrub_off - map: [ "enum.ScrubberVisualLayers.Scrubber", "enum.SubfloorLayers.FirstLayer" ] + map: [ "enabled", "enum.SubfloorLayers.FirstLayer" ] - type: Appearance + - type: PipeColorVisuals + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: ScrubberVisualizer + enum.ScrubberVisuals.State: + enabled: + Off: { state: scrub_off } + Scrub: { state: scrub_on } + Siphon: { state: scrub_purge } + WideScrub: { state: scrub_wide } + Welded: { state: scrub_welded } - type: AtmosDevice - type: GasVentScrubber - type: Construction @@ -146,7 +158,7 @@ layers: - state: pipeHalf sprite: Structures/Piping/Atmospherics/pipe.rsi - map: [ "enum.PipeColorVisualizer+Layers.Pipe", "enum.SubfloorLayers.FirstLayer" ] + map: [ "enum.PipeVisualLayers.Pipe", "enum.SubfloorLayers.FirstLayer" ] - state: injector - state: injector-unshaded shader: unshaded @@ -160,8 +172,7 @@ True: { color: "#5eff5e" } False: { color: "#990000" } - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: GasOutletInjector - type: Construction graph: GasUnary @@ -179,8 +190,7 @@ netsync: false sprite: Structures/Piping/Atmospherics/thermomachine.rsi - type: Appearance - visuals: - - type: PipeColorVisualizer + - type: PipeColorVisuals - type: Rotatable - type: GasThermoMachine - type: AtmosPipeColor @@ -216,15 +226,15 @@ - type: Sprite layers: - state: freezer_off - map: [ "enum.ThermoMachineVisualizer+Layers.Enabled" ] + map: [ "enabled" ] - state: pipe - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - - type: Appearance + map: [ "enum.PipeVisualLayers.Pipe" ] + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: ThermoMachineVisualizer - disabledState: freezer_off - enabledState: freezer_on + enum.ThermoMachineVisuals.Enabled: + enabled: + True: { state: freezer_on } + False: { state: freezer_off } - type: GasThermoMachine mode: Freezer - type: Machine @@ -245,15 +255,15 @@ - type: Sprite layers: - state: heater_off - map: [ "enum.ThermoMachineVisualizer+Layers.Enabled" ] + map: [ "enabled" ] - state: pipe - map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - - type: Appearance + map: [ "enum.PipeVisualLayers.Pipe" ] + - type: GenericVisualizer visuals: - - type: PipeColorVisualizer - - type: ThermoMachineVisualizer - disabledState: heater_off - enabledState: heater_on + enum.ThermoMachineVisuals.Enabled: + enabled: + True: { state: heater_on } + False: { state: heater_off } - type: GasThermoMachine mode: Heater - type: Machine