Convert piped atmos entity visualizers (#9200)
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
using Robust.Shared.GameObjects;
|
||||
|
||||
namespace Content.Client.Atmos.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public class PipeColorVisualsComponent : Component
|
||||
{
|
||||
}
|
||||
@@ -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<PipeColorVisualsComponent>
|
||||
{
|
||||
protected override void OnAppearanceChange(EntityUid uid, PipeColorVisualsComponent component, ref AppearanceChangeEvent args)
|
||||
{
|
||||
if(TryComp<SpriteComponent>(uid, out var sprite)
|
||||
&& args.Component.TryGetData<Color>(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,
|
||||
}
|
||||
@@ -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<IEntityManager>();
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<IEntityManager>().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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<IEntityManager>();
|
||||
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,
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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<IEntityManager>();
|
||||
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,
|
||||
}
|
||||
}
|
||||
@@ -34,6 +34,7 @@ namespace Content.Server.Entry
|
||||
"KudzuVisuals",
|
||||
"AMEControllerVisuals",
|
||||
"AMEShieldingVisuals",
|
||||
"PipeColorVisuals",
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user