using Content.Shared.Light; using Content.Shared.PDA; using Robust.Client.GameObjects; namespace Content.Client.PDA; public sealed class PdaVisualizerSystem : VisualizerSystem { 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)) args.Sprite.LayerSetState(PdaVisualLayers.Base, pdaType); if (AppearanceSystem.TryGetData(uid, UnpoweredFlashlightVisuals.LightOn, out var isFlashlightOn, args.Component)) args.Sprite.LayerSetVisible(PdaVisualLayers.Flashlight, isFlashlightOn); if (AppearanceSystem.TryGetData(uid, PdaVisuals.IdCardInserted, out var isCardInserted, args.Component)) args.Sprite.LayerSetVisible(PdaVisualLayers.IdLight, isCardInserted); } public enum PdaVisualLayers : byte { Base, Flashlight, IdLight } }