public sealed class KillSignSystem : EntitySystem
{
+ [Dependency] private readonly SpriteSystem _sprite = default!;
+
public override void Initialize()
{
SubscribeLocalEvent<KillSignComponent, ComponentStartup>(KillSignAdded);
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
- if (!sprite.LayerMapTryGet(KillSignKey.Key, out var layer))
+ if (!_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var layer, false))
return;
- sprite.RemoveLayer(layer);
+ _sprite.RemoveLayer((uid, sprite), layer);
}
private void KillSignAdded(EntityUid uid, KillSignComponent component, ComponentStartup args)
if (!TryComp<SpriteComponent>(uid, out var sprite))
return;
- if (sprite.LayerMapTryGet(KillSignKey.Key, out var _))
+ if (_sprite.LayerMapTryGet((uid, sprite), KillSignKey.Key, out var _, false))
return;
- var adj = sprite.Bounds.Height / 2 + ((1.0f/32) * 6.0f);
+ var adj = _sprite.GetLocalBounds((uid, sprite)).Height / 2 + ((1.0f / 32) * 6.0f);
- var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
- sprite.LayerMapSet(KillSignKey.Key, layer);
+ var layer = _sprite.AddLayer((uid, sprite), new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
+ _sprite.LayerMapSet((uid, sprite), KillSignKey.Key, layer);
- sprite.LayerSetOffset(layer, new Vector2(0.0f, adj));
+ _sprite.LayerSetOffset((uid, sprite), layer, new Vector2(0.0f, adj));
sprite.LayerSetShader(layer, "unshaded");
}