ExpendableLightComponent.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Content.Client.Light.EntitySystems;
  2. using Content.Shared.Light.Components;
  3. using Robust.Shared.Audio;
  4. namespace Content.Client.Light.Components;
  5. /// <summary>
  6. /// Component that represents a handheld expendable light which can be activated and eventually dies over time.
  7. /// </summary>
  8. [RegisterComponent]
  9. public sealed partial class ExpendableLightComponent : SharedExpendableLightComponent
  10. {
  11. /// <summary>
  12. /// The icon state used by expendable lights when the they have been completely expended.
  13. /// </summary>
  14. [DataField("iconStateSpent")]
  15. public string? IconStateSpent;
  16. /// <summary>
  17. /// The icon state used by expendable lights while they are lit.
  18. /// </summary>
  19. [DataField("iconStateLit")]
  20. public string? IconStateLit;
  21. /// <summary>
  22. /// The sprite layer shader used while the expendable light is lit.
  23. /// </summary>
  24. [DataField("spriteShaderLit")]
  25. public string? SpriteShaderLit = null;
  26. /// <summary>
  27. /// The sprite layer shader used after the expendable light has burnt out.
  28. /// </summary>
  29. [DataField("spriteShaderSpent")]
  30. public string? SpriteShaderSpent = null;
  31. /// <summary>
  32. /// The sprite layer shader used after the expendable light has burnt out.
  33. /// </summary>
  34. [DataField("glowColorLit")]
  35. public Color? GlowColorLit = null;
  36. /// <summary>
  37. /// The sound that plays when the expendable light is lit.
  38. /// </summary>
  39. [Access(typeof(ExpendableLightSystem))]
  40. public EntityUid? PlayingStream;
  41. }
  42. public enum ExpendableLightVisualLayers : byte
  43. {
  44. Base = 0,
  45. Glow = 1,
  46. Overlay = 2,
  47. }