diff --git a/Content.Client/Power/APC/ApcVisualizerSystem.cs b/Content.Client/Power/APC/ApcVisualizerSystem.cs index 67540e7239..1bb7fa5363 100644 --- a/Content.Client/Power/APC/ApcVisualizerSystem.cs +++ b/Content.Client/Power/APC/ApcVisualizerSystem.cs @@ -1,5 +1,4 @@ using Content.Shared.APC; -using JetBrains.Annotations; using Robust.Client.GameObjects; namespace Content.Client.Power.APC; @@ -7,6 +6,7 @@ namespace Content.Client.Power.APC; public sealed class ApcVisualizerSystem : VisualizerSystem { [Dependency] private readonly SharedPointLightSystem _lights = default!; + [Dependency] private readonly SpriteSystem _sprite = default!; protected override void OnAppearanceChange(EntityUid uid, ApcVisualsComponent comp, ref AppearanceChangeEvent args) { @@ -14,38 +14,38 @@ public sealed class ApcVisualizerSystem : VisualizerSystem return; // get the mapped layer index of the first lock layer and the first channel layer - var lockIndicatorOverlayStart = args.Sprite.LayerMapGet(ApcVisualLayers.InterfaceLock); - var channelIndicatorOverlayStart = args.Sprite.LayerMapGet(ApcVisualLayers.Equipment); + var lockIndicatorOverlayStart = _sprite.LayerMapGet((uid, args.Sprite), ApcVisualLayers.InterfaceLock); + var channelIndicatorOverlayStart = _sprite.LayerMapGet((uid, args.Sprite), ApcVisualLayers.Equipment); // Handle APC screen overlay: - if(!AppearanceSystem.TryGetData(uid, ApcVisuals.ChargeState, out var chargeState, args.Component)) + if (!AppearanceSystem.TryGetData(uid, ApcVisuals.ChargeState, out var chargeState, args.Component)) chargeState = ApcChargeState.Lack; if (chargeState >= 0 && chargeState < ApcChargeState.NumStates) { - args.Sprite.LayerSetState(ApcVisualLayers.ChargeState, $"{comp.ScreenPrefix}-{comp.ScreenSuffixes[(sbyte)chargeState]}"); + _sprite.LayerSetRsiState((uid, args.Sprite), ApcVisualLayers.ChargeState, $"{comp.ScreenPrefix}-{comp.ScreenSuffixes[(sbyte)chargeState]}"); // LockState does nothing currently. The backend doesn't exist. if (AppearanceSystem.TryGetData(uid, ApcVisuals.LockState, out var lockStates, args.Component)) { - for(var i = 0; i < comp.LockIndicators; ++i) + for (var i = 0; i < comp.LockIndicators; ++i) { - var layer = ((byte)lockIndicatorOverlayStart + i); - sbyte lockState = (sbyte)((lockStates >> (i << (sbyte)ApcLockState.LogWidth)) & (sbyte)ApcLockState.All); - args.Sprite.LayerSetState(layer, $"{comp.LockPrefix}{i}-{comp.LockSuffixes[lockState]}"); - args.Sprite.LayerSetVisible(layer, true); + var layer = (byte)lockIndicatorOverlayStart + i; + var lockState = (sbyte)((lockStates >> (i << (sbyte)ApcLockState.LogWidth)) & (sbyte)ApcLockState.All); + _sprite.LayerSetRsiState((uid, args.Sprite), layer, $"{comp.LockPrefix}{i}-{comp.LockSuffixes[lockState]}"); + _sprite.LayerSetVisible((uid, args.Sprite), layer, true); } } // ChannelState does nothing currently. The backend doesn't exist. if (AppearanceSystem.TryGetData(uid, ApcVisuals.ChannelState, out var channelStates, args.Component)) { - for(var i = 0; i < comp.ChannelIndicators; ++i) + for (var i = 0; i < comp.ChannelIndicators; ++i) { - var layer = ((byte)channelIndicatorOverlayStart + i); - sbyte channelState = (sbyte)((channelStates >> (i << (sbyte)ApcChannelState.LogWidth)) & (sbyte)ApcChannelState.All); - args.Sprite.LayerSetState(layer, $"{comp.ChannelPrefix}{i}-{comp.ChannelSuffixes[channelState]}"); - args.Sprite.LayerSetVisible(layer, true); + var layer = (byte)channelIndicatorOverlayStart + i; + var channelState = (sbyte)((channelStates >> (i << (sbyte)ApcChannelState.LogWidth)) & (sbyte)ApcChannelState.All); + _sprite.LayerSetRsiState((uid, args.Sprite), layer, $"{comp.ChannelPrefix}{i}-{comp.ChannelSuffixes[channelState]}"); + _sprite.LayerSetVisible((uid, args.Sprite), layer, true); } } @@ -57,16 +57,16 @@ public sealed class ApcVisualizerSystem : VisualizerSystem else { /// Overrides all of the lock and channel indicators. - args.Sprite.LayerSetState(ApcVisualLayers.ChargeState, comp.EmaggedScreenState); - for(var i = 0; i < comp.LockIndicators; ++i) + _sprite.LayerSetRsiState((uid, args.Sprite), ApcVisualLayers.ChargeState, comp.EmaggedScreenState); + for (var i = 0; i < comp.LockIndicators; ++i) { - var layer = ((byte)lockIndicatorOverlayStart + i); - args.Sprite.LayerSetVisible(layer, false); + var layer = (byte)lockIndicatorOverlayStart + i; + _sprite.LayerSetVisible((uid, args.Sprite), layer, false); } - for(var i = 0; i < comp.ChannelIndicators; ++i) + for (var i = 0; i < comp.ChannelIndicators; ++i) { - var layer = ((byte)channelIndicatorOverlayStart + i); - args.Sprite.LayerSetVisible(layer, false); + var layer = (byte)channelIndicatorOverlayStart + i; + _sprite.LayerSetVisible((uid, args.Sprite), layer, false); } if (TryComp(uid, out var light)) @@ -77,7 +77,7 @@ public sealed class ApcVisualizerSystem : VisualizerSystem } } -enum ApcVisualLayers : byte +public enum ApcVisualLayers : byte { /// /// The sprite layer used for the interface lock indicator light overlay.