public sealed class AtmosAlarmableVisualsSystem : VisualizerSystem<AtmosAlarmableVisualsComponent>
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
protected override void OnAppearanceChange(EntityUid uid, AtmosAlarmableVisualsComponent component, ref AppearanceChangeEvent args)
{
- if (args.Sprite == null || !args.Sprite.LayerMapTryGet(component.LayerMap, out var layer))
+ if (args.Sprite == null || !_sprite.LayerMapTryGet((uid, args.Sprite), component.LayerMap, out var layer, false))
return;
if (!args.AppearanceData.TryGetValue(PowerDeviceVisuals.Powered, out var poweredObject) ||
{
foreach (var visLayer in component.HideOnDepowered)
{
- if (args.Sprite.LayerMapTryGet(visLayer, out var powerVisibilityLayer))
- args.Sprite.LayerSetVisible(powerVisibilityLayer, powered);
+ if (_sprite.LayerMapTryGet((uid, args.Sprite), visLayer, out var powerVisibilityLayer, false))
+ _sprite.LayerSetVisible((uid, args.Sprite), powerVisibilityLayer, powered);
}
}
{
foreach (var (setLayer, powerState) in component.SetOnDepowered)
{
- if (args.Sprite.LayerMapTryGet(setLayer, out var setStateLayer))
- args.Sprite.LayerSetState(setStateLayer, new RSI.StateId(powerState));
+ if (_sprite.LayerMapTryGet((uid, args.Sprite), setLayer, out var setStateLayer, false))
+ _sprite.LayerSetRsiState((uid, args.Sprite), setStateLayer, new RSI.StateId(powerState));
}
}
&& powered
&& component.AlarmStates.TryGetValue(alarmType, out var state))
{
- args.Sprite.LayerSetState(layer, new RSI.StateId(state));
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, new RSI.StateId(state));
}
}
}