using Content.Shared.Light; using Content.Shared.PDA; using Robust.Client.GameObjects; namespace Content.Client.PDA; public sealed class PdaVisualizerSystem : VisualizerSystem { [Dependency] private readonly SpriteSystem _sprite = default!; protected override void OnAppearanceChange(EntityUid uid, PdaVisualsComponent comp, ref AppearanceChangeEvent args) { if (args.Sprite == null) return; if (AppearanceSystem.TryGetData(uid, PdaVisuals.PdaType, out var pdaType, args.Component)) _sprite.LayerSetRsiState((uid, args.Sprite), PdaVisualLayers.Base, pdaType); if (AppearanceSystem.TryGetData(uid, UnpoweredFlashlightVisuals.LightOn, out var isFlashlightOn, args.Component)) _sprite.LayerSetVisible((uid, args.Sprite), PdaVisualLayers.Flashlight, isFlashlightOn); if (AppearanceSystem.TryGetData(uid, PdaVisuals.IdCardInserted, out var isCardInserted, args.Component)) _sprite.LayerSetVisible((uid, args.Sprite), PdaVisualLayers.IdLight, isCardInserted); } public enum PdaVisualLayers : byte { Base, Flashlight, IdLight } }