1
0

FireVisualsComponent.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. namespace Content.Client.Atmos.Components;
  2. /// <summary>
  3. /// Sets which sprite RSI is used for displaying the fire visuals and what state to use based on the fire stacks
  4. /// accumulated.
  5. /// </summary>
  6. [RegisterComponent]
  7. public sealed partial class FireVisualsComponent : Component
  8. {
  9. [DataField("fireStackAlternateState")]
  10. public int FireStackAlternateState = 3;
  11. [DataField("normalState")]
  12. public string? NormalState;
  13. [DataField("alternateState")]
  14. public string? AlternateState;
  15. [DataField("sprite")]
  16. public string? Sprite;
  17. [DataField("lightEnergyPerStack")]
  18. public float LightEnergyPerStack = 0.5f;
  19. [DataField("lightRadiusPerStack")]
  20. public float LightRadiusPerStack = 0.3f;
  21. [DataField("maxLightEnergy")]
  22. public float MaxLightEnergy = 10f;
  23. [DataField("maxLightRadius")]
  24. public float MaxLightRadius = 4f;
  25. [DataField("lightColor")]
  26. public Color LightColor = Color.Orange;
  27. /// <summary>
  28. /// Client side point-light entity. We use this instead of directly adding a light to
  29. /// the burning entity as entities don't support having multiple point-lights.
  30. /// </summary>
  31. public EntityUid? LightEntity;
  32. }