2023-05-01 08:03:26 -07:00
|
|
|
using Content.Client.Light.EntitySystems;
|
2023-09-04 06:31:10 +01:00
|
|
|
using Content.Shared.Light.Components;
|
2021-07-31 12:41:59 +02:00
|
|
|
using Robust.Shared.Audio;
|
2020-09-03 16:02:40 -04:00
|
|
|
|
2023-05-01 08:03:26 -07:00
|
|
|
namespace Content.Client.Light.Components;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Component that represents a handheld expendable light which can be activated and eventually dies over time.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[RegisterComponent]
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class ExpendableLightComponent : SharedExpendableLightComponent
|
2020-09-03 16:02:40 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
2023-05-01 08:03:26 -07:00
|
|
|
/// The icon state used by expendable lights when the they have been completely expended.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("iconStateSpent")]
|
|
|
|
|
public string? IconStateSpent;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The icon state used by expendable lights while they are lit.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("iconStateLit")]
|
|
|
|
|
public string? IconStateLit;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The sprite layer shader used while the expendable light is lit.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("spriteShaderLit")]
|
|
|
|
|
public string? SpriteShaderLit = null;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The sprite layer shader used after the expendable light has burnt out.
|
2020-09-03 16:02:40 -04:00
|
|
|
/// </summary>
|
2023-05-01 08:03:26 -07:00
|
|
|
[DataField("spriteShaderSpent")]
|
|
|
|
|
public string? SpriteShaderSpent = null;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The sprite layer shader used after the expendable light has burnt out.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField("glowColorLit")]
|
|
|
|
|
public Color? GlowColorLit = null;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The sound that plays when the expendable light is lit.
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Access(typeof(ExpendableLightSystem))]
|
2023-11-27 22:12:34 +11:00
|
|
|
public EntityUid? PlayingStream;
|
2023-05-01 08:03:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public enum ExpendableLightVisualLayers : byte
|
|
|
|
|
{
|
|
|
|
|
Base = 0,
|
|
|
|
|
Glow = 1,
|
|
|
|
|
Overlay = 2,
|
2020-09-03 16:02:40 -04:00
|
|
|
}
|