Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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");
    }