fish-station/Content.Client/_Sunrise/Boss/Systems/HellSpawnInvincibilitySystem.cs
pacable 8f2445ea94
Адское Отродье - Босс для утилей (#1525)
Signed-off-by: pacable <igor.mamaev1@gmail.com>
2025-03-10 02:33:48 +03:00

33 lines
1.1 KiB
C#

using Content.Client.DamageState;
using Content.Shared._Sunrise.Boss.Components;
using Content.Shared._Sunrise.Boss.Systems;
using Robust.Client.GameObjects;
namespace Content.Client._Sunrise.Boss.Systems;
/// <inheritdoc />
public sealed class HellSpawnInvincibilitySystem : SharedHellSpawnInvincibilitySystem
{
/// <inheritdoc />
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<HellSpawnInvincibilityComponent, HellSpawnInvincibilityToggledEvent>(OnToggled);
}
private void OnToggled(Entity<HellSpawnInvincibilityComponent> ent, ref HellSpawnInvincibilityToggledEvent args)
{
if (!TryComp<AppearanceComponent>(ent.Owner, out var appearanceComponent))
return;
if (!TryComp<SpriteComponent>(ent.Owner, out var spriteComponent))
return;
if (!spriteComponent.LayerMapTryGet(DamageStateVisualLayers.Base, out var layerIdx))
return;
if (args.Enabled)
spriteComponent.LayerSetShader(layerIdx, "unshaded");
else
spriteComponent.LayerSetShader(layerIdx, null, null);
}
}