public sealed class RandomArtifactSpriteSystem : VisualizerSystem<RandomArtifactSpriteComponent>
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
protected override void OnAppearanceChange(EntityUid uid, RandomArtifactSpriteComponent component, ref AppearanceChangeEvent args)
{
if (args.Sprite == null)
var spritePrefix = isUnlocking ? "_on" : "";
// layered artifact sprite
- if (args.Sprite.LayerMapTryGet(ArtifactsVisualLayers.UnlockingEffect, out var layer))
+ if (_sprite.LayerMapTryGet((uid, args.Sprite), ArtifactsVisualLayers.UnlockingEffect, out var layer, false))
{
var spriteState = "ano" + spriteIndexStr;
- args.Sprite.LayerSetState(ArtifactsVisualLayers.Base, spriteState);
- args.Sprite.LayerSetState(layer, spriteState + "_on");
- args.Sprite.LayerSetVisible(layer, isUnlocking);
+ _sprite.LayerSetRsiState((uid, args.Sprite), ArtifactsVisualLayers.Base, spriteState);
+ _sprite.LayerSetRsiState((uid, args.Sprite), layer, spriteState + "_on");
+ _sprite.LayerSetVisible((uid, args.Sprite), layer, isUnlocking);
- if (args.Sprite.LayerMapTryGet(ArtifactsVisualLayers.ActivationEffect, out var activationEffectLayer))
+ if (_sprite.LayerMapTryGet((uid, args.Sprite), ArtifactsVisualLayers.ActivationEffect, out var activationEffectLayer, false))
{
- args.Sprite.LayerSetState(activationEffectLayer, "artifact-activation");
- args.Sprite.LayerSetVisible(activationEffectLayer, isActivated);
+ _sprite.LayerSetRsiState((uid, args.Sprite), activationEffectLayer, "artifact-activation");
+ _sprite.LayerSetVisible((uid, args.Sprite), activationEffectLayer, isActivated);
}
}
// non-layered
else
{
var spriteState = "ano" + spriteIndexStr + spritePrefix;
- args.Sprite.LayerSetState(ArtifactsVisualLayers.Base, spriteState);
+ _sprite.LayerSetRsiState((uid, args.Sprite), ArtifactsVisualLayers.Base, spriteState);
}
}
}