private void KillSignRemoved(EntityUid uid, KillSignComponent component, ComponentShutdown args) { if (!TryComp <SpriteComponent>(uid, out var sprite)) { return; } if (!sprite.LayerMapTryGet(KillSignKey.Key, out var layer)) { return; } sprite.RemoveLayer(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 _)) { return; } var adj = sprite.Bounds.Height / 2 + ((1.0f / 32) * 6.0f); var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResourcePath("Objects/Misc/killsign.rsi"), "sign")); sprite.LayerMapSet(KillSignKey.Key, layer); sprite.LayerSetOffset(layer, new Vector2(0.0f, adj)); sprite.LayerSetShader(layer, "unshaded"); }