30 lines
928 B
C#
30 lines
928 B
C#
namespace Content.Shared.Radiation.Components;
|
|
|
|
/// <summary>
|
|
/// Irradiate all objects in range.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class RadiationSourceComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// Radiation intensity in center of the source in rads per second.
|
|
/// From there radiation rays will travel over distance and loose intensity
|
|
/// when hit radiation blocker.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
[DataField("intensity")]
|
|
public float Intensity = 1;
|
|
|
|
/// <summary>
|
|
/// Defines how fast radiation rays will loose intensity
|
|
/// over distance. The bigger the value, the shorter range
|
|
/// of radiation source will be.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadWrite)]
|
|
[DataField("slope")]
|
|
public float Slope = 0.5f;
|
|
|
|
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
|
public bool Enabled;
|
|
}
|