From 331604cc66fd6a58f583fb375d88d1dab41e0809 Mon Sep 17 00:00:00 2001 From: Vera Aguilera Puerto Date: Mon, 2 Aug 2021 13:20:31 +0200 Subject: [PATCH] GasFilter appearance, EnabledAtmosDeviceVisualizer improvements. --- .../EnabledAtmosDeviceVisualizer.cs | 17 +++------- .../Atmos/Visualizers/GasFilterVisualizer.cs | 18 ++++++++++ .../Visualizers/GasPortableVisualizer.cs | 2 +- .../Visualizers/OutletInjectorVisualizer.cs | 2 +- .../Visualizers/PassiveVentVisualizer.cs | 2 +- .../Visualizers/PressurePumpVisualizer.cs | 2 +- .../Atmos/Visualizers/ScrubberVisualizer.cs | 2 +- .../Visualizers/ThermoMachineVisualizer.cs | 2 +- .../Atmos/Visualizers/VentPumpVisualizer.cs | 2 +- .../Trinary/EntitySystems/GasFilterSystem.cs | 32 ++++++++++-------- .../Atmos/Piping/EnabledAtmosDeviceVisuals.cs | 16 ++++++--- .../Structures/Piping/Atmospherics/binary.yml | 3 +- .../Piping/Atmospherics/trinary.yml | 5 ++- .../Structures/Piping/Atmospherics/unary.yml | 4 +++ .../gasfilter.rsi/gasFilterOn.png | Bin 16173 -> 19883 bytes 15 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs diff --git a/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs b/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs index b39fb9eed8..24af950e1e 100644 --- a/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/EnabledAtmosDeviceVisualizer.cs @@ -9,22 +9,13 @@ 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 InitializeEntity(IEntity entity) - { - base.InitializeEntity(entity); - - if (!entity.TryGetComponent(out ISpriteComponent? sprite)) - return; - - sprite.LayerMapSet(LayerMap, sprite.AddLayerState(_enabledState)); - sprite.LayerSetVisible(LayerMap, false); - } - public override void OnChangeData(AppearanceComponent component) { base.OnChangeData(component); @@ -32,8 +23,8 @@ namespace Content.Client.Atmos.Visualizers if (!component.Owner.TryGetComponent(out ISpriteComponent? sprite)) return; - if(component.TryGetData(DataKey, out bool enabled)) - sprite.LayerSetVisible(LayerMap, enabled); + 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 new file mode 100644 index 0000000000..5ad5468c42 --- /dev/null +++ b/Content.Client/Atmos/Visualizers/GasFilterVisualizer.cs @@ -0,0 +1,18 @@ +using System; +using Content.Shared.Atmos.Piping; +using JetBrains.Annotations; + +namespace Content.Client.Atmos.Visualizers +{ + [UsedImplicitly] + public 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/GasPortableVisualizer.cs b/Content.Client/Atmos/Visualizers/GasPortableVisualizer.cs index 07e62b5d59..77804494ce 100644 --- a/Content.Client/Atmos/Visualizers/GasPortableVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/GasPortableVisualizer.cs @@ -46,7 +46,7 @@ namespace Content.Client.Atmos.Visualizers } } - private enum Layers + private enum Layers : byte { ConnectedToPort, } diff --git a/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs b/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs index dc1681c226..ec23d7b503 100644 --- a/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/OutletInjectorVisualizer.cs @@ -10,7 +10,7 @@ namespace Content.Client.Atmos.Visualizers protected override object LayerMap => Layers.Enabled; protected override Enum DataKey => OutletInjectorVisuals.Enabled; - enum Layers + enum Layers : byte { Enabled, } diff --git a/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs b/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs index 01991d837b..d2d08244bc 100644 --- a/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/PassiveVentVisualizer.cs @@ -10,7 +10,7 @@ namespace Content.Client.Atmos.Visualizers protected override object LayerMap => Layers.Enabled; protected override Enum DataKey => PassiveVentVisuals.Enabled; - enum Layers + enum Layers : byte { Enabled, } diff --git a/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs b/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs index c1441da37b..e0b5db06d3 100644 --- a/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/PressurePumpVisualizer.cs @@ -10,7 +10,7 @@ namespace Content.Client.Atmos.Visualizers protected override object LayerMap => Layers.Enabled; protected override Enum DataKey => PressurePumpVisuals.Enabled; - enum Layers + enum Layers : byte { Enabled, } diff --git a/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs b/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs index 6568fab771..e58b0bf8e7 100644 --- a/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/ScrubberVisualizer.cs @@ -44,7 +44,7 @@ namespace Content.Client.Atmos.Visualizers } } - public enum ScrubberVisualLayers + public enum ScrubberVisualLayers : byte { Scrubber, } diff --git a/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs b/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs index e9d77226cc..ab7db6ae92 100644 --- a/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/ThermoMachineVisualizer.cs @@ -10,7 +10,7 @@ namespace Content.Client.Atmos.Visualizers protected override object LayerMap => Layers.Enabled; protected override Enum DataKey => ThermoMachineVisuals.Enabled; - enum Layers + enum Layers : byte { Enabled, } diff --git a/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs b/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs index 7db4bc7d5f..cecc544b57 100644 --- a/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs +++ b/Content.Client/Atmos/Visualizers/VentPumpVisualizer.cs @@ -40,7 +40,7 @@ namespace Content.Client.Atmos.Visualizers } } - public enum VentVisualLayers + public enum VentVisualLayers : byte { Vent, } diff --git a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs index a2db87f7bc..2d24c80fdf 100644 --- a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs +++ b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs @@ -3,7 +3,9 @@ using Content.Server.Atmos.Piping.Trinary.Components; using Content.Server.NodeContainer; using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos; +using Content.Shared.Atmos.Piping; using JetBrains.Annotations; +using Robust.Server.GameObjects; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Timing; @@ -24,33 +26,35 @@ namespace Content.Server.Atmos.Piping.Trinary.EntitySystems private void OnFilterUpdated(EntityUid uid, GasFilterComponent filter, AtmosDeviceUpdateEvent args) { - if (!filter.Enabled) - return; + var appearance = filter.Owner.GetComponentOrNull(); - if (!ComponentManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer)) + if (!filter.Enabled + || !ComponentManager.TryGetComponent(uid, out NodeContainerComponent? nodeContainer) + || !ComponentManager.TryGetComponent(uid, out AtmosDeviceComponent? device) + || !nodeContainer.TryGetNode(filter.InletName, out PipeNode? inletNode) + || !nodeContainer.TryGetNode(filter.FilterName, out PipeNode? filterNode) + || !nodeContainer.TryGetNode(filter.OutletName, out PipeNode? outletNode) + || outletNode.Air.Pressure >= Atmospherics.MaxOutputPressure) // No need to transfer if target is full. + { + appearance?.SetData(FilterVisuals.Enabled, false); return; - - if (!ComponentManager.TryGetComponent(uid, out AtmosDeviceComponent? device)) - return; - - if (!nodeContainer.TryGetNode(filter.InletName, out PipeNode? inletNode) - || !nodeContainer.TryGetNode(filter.FilterName, out PipeNode? filterNode) - || !nodeContainer.TryGetNode(filter.OutletName, out PipeNode? outletNode)) - return; - - if (outletNode.Air.Pressure >= Atmospherics.MaxOutputPressure) - return; // No need to transfer if target is full. + } // We multiply the transfer rate in L/s by the seconds passed since the last process to get the liters. var transferRatio = (float)(filter.TransferRate * (_gameTiming.CurTime - device.LastProcess).TotalSeconds) / inletNode.Air.Volume; if (transferRatio <= 0) + { + appearance?.SetData(FilterVisuals.Enabled, false); return; + } var removed = inletNode.Air.RemoveRatio(transferRatio); if (filter.FilteredGas.HasValue) { + appearance?.SetData(FilterVisuals.Enabled, true); + var filteredOut = new GasMixture() {Temperature = removed.Temperature}; filteredOut.SetMoles(filter.FilteredGas.Value, removed.GetMoles(filter.FilteredGas.Value)); diff --git a/Content.Shared/Atmos/Piping/EnabledAtmosDeviceVisuals.cs b/Content.Shared/Atmos/Piping/EnabledAtmosDeviceVisuals.cs index e95188cc0b..5f3883a25c 100644 --- a/Content.Shared/Atmos/Piping/EnabledAtmosDeviceVisuals.cs +++ b/Content.Shared/Atmos/Piping/EnabledAtmosDeviceVisuals.cs @@ -4,31 +4,37 @@ using Robust.Shared.Serialization; namespace Content.Shared.Atmos.Piping { [Serializable, NetSerializable] - public enum OutletInjectorVisuals + public enum OutletInjectorVisuals : byte { Enabled, } [Serializable, NetSerializable] - public enum PassiveVentVisuals + public enum PassiveVentVisuals : byte { Enabled, } [Serializable, NetSerializable] - public enum VentScrubberVisuals + public enum VentScrubberVisuals : byte { Enabled, } [Serializable, NetSerializable] - public enum ThermoMachineVisuals + public enum ThermoMachineVisuals : byte { Enabled, } [Serializable, NetSerializable] - public enum PressurePumpVisuals + public enum PressurePumpVisuals : byte + { + Enabled, + } + + [Serializable, NetSerializable] + public enum FilterVisuals : byte { Enabled, } diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml index d52e24f2fa..c62a227933 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml @@ -33,13 +33,14 @@ state: pipeStraight map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - state: pumpPressure - map: [ "enum.SubFloorShowLayerVisualizer+Layers.FirstLayer" ] + map: [ "enum.SubFloorShowLayerVisualizer+Layers.FirstLayer", "enum.PressurePumpVisualizer+Layers.Enabled" ] - type: Appearance visuals: - type: SubFloorShowLayerVisualizer - type: PipeConnectorVisualizer - type: PipeColorVisualizer - type: PressurePumpVisualizer + disabledState: pumpPressure enabledState: pumpPressureOn - type: GasPressurePump diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml index f8b5414d4f..55b541dd2a 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/trinary.yml @@ -38,12 +38,15 @@ state: pipeTJunction map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - state: gasFilter - map: [ "enum.SubFloorShowLayerVisualizer+Layers.FirstLayer" ] + map: [ "enum.SubFloorShowLayerVisualizer+Layers.FirstLayer", "enum.GasFilterVisualizer+Layers.Enabled" ] - type: Appearance visuals: - type: SubFloorShowLayerVisualizer - type: PipeConnectorVisualizer - type: PipeColorVisualizer + - type: GasFilterVisualizer + disabledState: gasFilter + enabledState: gasFilterOn - type: GasFilter - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml index b85e71e3af..f628e58595 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml @@ -148,6 +148,7 @@ - type: Sprite layers: - state: freezer_off + map: [ "enum.ThermoMachineVisualizer+Layers.Enabled" ] - state: pipe map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - type: Appearance @@ -155,6 +156,7 @@ - type: PipeConnectorVisualizer - type: PipeColorVisualizer - type: ThermoMachineVisualizer + disabledState: freezer_off enabledState: freezer_on - type: GasThermoMachine mode: Freezer @@ -170,6 +172,7 @@ - type: Sprite layers: - state: heater_off + map: [ "enum.ThermoMachineVisualizer+Layers.Enabled" ] - state: pipe map: [ "enum.PipeColorVisualizer+Layers.Pipe" ] - type: Appearance @@ -177,6 +180,7 @@ - type: PipeConnectorVisualizer - type: PipeColorVisualizer - type: ThermoMachineVisualizer + disabledState: heater_off enabledState: heater_on - type: GasThermoMachine mode: Heater diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gasfilter.rsi/gasFilterOn.png b/Resources/Textures/Structures/Piping/Atmospherics/gasfilter.rsi/gasFilterOn.png index 891eface878691c8b320b85da128b36823b53629..06cdacf03e2675e7345ab72531ad0fd38353faec 100644 GIT binary patch literal 19883 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 R+l&AJ002ovPDHLkV1n8em?i)K literal 16173 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