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,
}