using System.Linq; using Content.Client.Nyanotrasen.Kitchen.Components; using Content.Shared.Clothing; using Content.Shared.Hands; using Content.Shared.Nyanotrasen.Kitchen.Components; using Robust.Client.GameObjects; using static Robust.Client.GameObjects.SpriteComponent; namespace Content.Client.Kitchen.Visualizers; public sealed class DeepFriedVisualizerSystem : VisualizerSystem { [Dependency] private readonly SharedAppearanceSystem _appearance = default!; private const string FriedShader = "Crispy"; private const string SpectralShader = "Spectral"; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnHeldVisualsUpdated); SubscribeLocalEvent(OnEquipmentVisualsUpdated); } protected override void OnAppearanceChange(EntityUid uid, DeepFriedComponent component, ref AppearanceChangeEvent args) { if (args.Sprite == null) return; // Frontier: get shader to use var shader = GetDeepFriedEntityShader(uid, args.Component); if (shader == null) return; // End Frontier for (var i = 0; i < args.Sprite.AllLayers.Count(); ++i) args.Sprite.LayerSetShader(i, shader); // Frontier: ShaderName