cleaning up more stuff with crematoriums and morgues (#11384)

This commit is contained in:
Nemanja
2022-09-19 19:59:04 -04:00
committed by GitHub
parent 19e094779a
commit 2ed3779405
10 changed files with 112 additions and 174 deletions

View File

@@ -0,0 +1,7 @@
namespace Content.Client.Morgue.Visualizers;
public enum CrematoriumVisualLayers : byte
{
Base,
LightBurning,
LightContent
}

View File

@@ -1,36 +0,0 @@
using Content.Shared.Morgue;
using Content.Shared.Storage;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
namespace Content.Client.Morgue.Visualizers;
public sealed class CrematoriumVisualizerSystem : VisualizerSystem<CrematoriumVisualsComponent>
{
public override void Initialize()
{
base.Initialize();
}
protected override void OnAppearanceChange(EntityUid uid, CrematoriumVisualsComponent component, ref AppearanceChangeEvent args)
{
if (args.Sprite == null)
return;
string? lightState = null;
if (args.Component.TryGetData(CrematoriumVisuals.Burning, out bool isBurning) && isBurning)
lightState = component.LightBurning;
else if (args.Component.TryGetData(StorageVisuals.HasContents, out bool hasContents) && hasContents)
lightState = component.LightContents;
if (lightState != null)
{
args.Sprite.LayerSetState(CrematoriumVisualLayers.Light, lightState);
args.Sprite.LayerSetVisible(CrematoriumVisualLayers.Light, true);
}
else
{
args.Sprite.LayerSetVisible(CrematoriumVisualLayers.Light, false);
}
}
}

View File

@@ -1,16 +0,0 @@
namespace Content.Client.Morgue.Visualizers;
[RegisterComponent]
public sealed class CrematoriumVisualsComponent : Component
{
[DataField("lightContents", required: true)]
public string LightContents = default!;
[DataField("lightBurning", required: true)]
public string LightBurning = default!;
}
public enum CrematoriumVisualLayers : byte
{
Base,
Light,
}