Resolves ParticleAcceleratorPartVisualizer is Obsolete (#13897)

This commit is contained in:
TemporalOroboros
2023-04-22 02:39:04 -07:00
committed by GitHub
parent d78110bebd
commit 0e6e338093
7 changed files with 64 additions and 81 deletions

View File

@@ -0,0 +1,29 @@
using System.Linq;
using Content.Shared.Singularity.Components;
using Robust.Client.GameObjects;
namespace Content.Client.ParticleAccelerator;
public sealed class ParticleAcceleratorPartVisualizerSystem : VisualizerSystem<ParticleAcceleratorPartVisualsComponent>
{
protected override void OnAppearanceChange(EntityUid uid, ParticleAcceleratorPartVisualsComponent comp, ref AppearanceChangeEvent args)
{
if (args.Sprite == null)
return;
if (!AppearanceSystem.TryGetData<ParticleAcceleratorVisualState>(uid, ParticleAcceleratorVisuals.VisualState, out var state, args.Component))
{
state = ParticleAcceleratorVisualState.Unpowered;
}
if (state != ParticleAcceleratorVisualState.Unpowered)
{
args.Sprite.LayerSetVisible(ParticleAcceleratorVisualLayers.Unlit, true);
args.Sprite.LayerSetState(ParticleAcceleratorVisualLayers.Unlit, comp.StateBase + comp.StatesSuffixes[state]);
}
else
{
args.Sprite.LayerSetVisible(ParticleAcceleratorVisualLayers.Unlit, false);
}
}
}