using Content.Client.Light.EntitySystems; using Content.Shared.Light.Component; using Robust.Shared.Audio; namespace Content.Client.Light.Components; /// /// Component that represents a handheld expendable light which can be activated and eventually dies over time. /// [RegisterComponent] public sealed class ExpendableLightComponent : SharedExpendableLightComponent { /// /// The icon state used by expendable lights when the they have been completely expended. /// [DataField("iconStateSpent")] public string? IconStateSpent; /// /// The icon state used by expendable lights while they are lit. /// [DataField("iconStateLit")] public string? IconStateLit; /// /// The sprite layer shader used while the expendable light is lit. /// [DataField("spriteShaderLit")] public string? SpriteShaderLit = null; /// /// The sprite layer shader used after the expendable light has burnt out. /// [DataField("spriteShaderSpent")] public string? SpriteShaderSpent = null; /// /// The sprite layer shader used after the expendable light has burnt out. /// [DataField("glowColorLit")] public Color? GlowColorLit = null; /// /// The sound that plays when the expendable light is lit. /// [Access(typeof(ExpendableLightSystem))] public IPlayingAudioStream? PlayingStream; } public enum ExpendableLightVisualLayers : byte { Base = 0, Glow = 1, Overlay = 2, }