using System.Linq; using Content.Client.Antag; using Content.Shared.Humanoid; using Content.Shared.StatusIcon.Components; using Content.Shared.Zombies; using Robust.Client.GameObjects; namespace Content.Client.Zombies; public sealed class ZombieSystem : AntagStatusIconSystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnGetStatusIcon); } private void OnStartup(EntityUid uid, ZombieComponent component, ComponentStartup args) { if (HasComp(uid)) return; if (!TryComp(uid, out var sprite)) return; for (var i = 0; i < sprite.AllLayers.Count(); i++) { sprite.LayerSetColor(i, component.SkinColor); } } private void OnGetStatusIcon(EntityUid uid, ZombieComponent component, ref GetStatusIconsEvent args) { GetStatusIcon(component.ZombieStatusIcon, ref args); } }