From 182663cd0be81ce4e30e39e2062950db5346f7ba Mon Sep 17 00:00:00 2001 From: Alex Evgrashin Date: Fri, 23 Apr 2021 10:42:48 +0400 Subject: [PATCH] Solution visualizer fixes (#3883) --- .../Components/Chemistry/SolutionContainerVisualizer.cs | 8 +++++++- .../Chemistry/SharedSolutionContainerComponent.cs | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Content.Client/GameObjects/Components/Chemistry/SolutionContainerVisualizer.cs b/Content.Client/GameObjects/Components/Chemistry/SolutionContainerVisualizer.cs index 00421218bf..1e9430a699 100644 --- a/Content.Client/GameObjects/Components/Chemistry/SolutionContainerVisualizer.cs +++ b/Content.Client/GameObjects/Components/Chemistry/SolutionContainerVisualizer.cs @@ -3,6 +3,7 @@ using System; using Content.Shared.GameObjects.Components.Chemistry; using JetBrains.Annotations; using Robust.Client.GameObjects; +using Robust.Shared.Maths; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Client.GameObjects.Components.Chemistry @@ -12,9 +13,10 @@ namespace Content.Client.GameObjects.Components.Chemistry { [DataField("maxFillLevels")] private int _maxFillLevels = 0; [DataField("fillBaseName")] private string? _fillBaseName = null; - [DataField("emptySpriteName")] private string? _emptySpriteName = null; [DataField("layer")] private SolutionContainerLayers _layer = SolutionContainerLayers.Fill; [DataField("changeColor")] private bool _changeColor = true; + [DataField("emptySpriteName")] private string? _emptySpriteName = null; + [DataField("emptySpriteColor")] private Color _emptySpriteColor = Color.White; public override void OnChangeData(AppearanceComponent component) { @@ -46,7 +48,11 @@ namespace Content.Client.GameObjects.Components.Chemistry if (_emptySpriteName == null) sprite.LayerSetVisible(fillLayer, false); else + { sprite.LayerSetState(fillLayer, _emptySpriteName); + if (_changeColor) + sprite.LayerSetColor(fillLayer, _emptySpriteColor); + } } } } diff --git a/Content.Shared/GameObjects/Components/Chemistry/SharedSolutionContainerComponent.cs b/Content.Shared/GameObjects/Components/Chemistry/SharedSolutionContainerComponent.cs index 65bfd5d2d2..c455b7a053 100644 --- a/Content.Shared/GameObjects/Components/Chemistry/SharedSolutionContainerComponent.cs +++ b/Content.Shared/GameObjects/Components/Chemistry/SharedSolutionContainerComponent.cs @@ -70,6 +70,12 @@ namespace Content.Shared.GameObjects.Components.Chemistry public bool CanRefill => Capabilities.HasCap(SolutionContainerCaps.Refillable); public bool CanDrain => Capabilities.HasCap(SolutionContainerCaps.Drainable); + public override void Initialize() + { + base.Initialize(); + UpdateAppearance(); + } + public void RemoveAllSolution() { if (CurrentVolume == 0)