49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
using Content.Shared.CCVar;
|
|
|
|
namespace Content.Server.Radiation.Systems;
|
|
|
|
// cvar updates
|
|
public partial class RadiationSystem
|
|
{
|
|
public float MinIntensity { get; private set; }
|
|
public float GridcastUpdateRate { get; private set; }
|
|
public bool GridcastSimplifiedSameGrid { get; private set; }
|
|
public float GridcastMaxDistance { get; private set; }
|
|
|
|
private void SubscribeCvars()
|
|
{
|
|
_cfg.OnValueChanged(CCVars.RadiationMinIntensity, SetMinRadiationIntensity, true);
|
|
_cfg.OnValueChanged(CCVars.RadiationGridcastUpdateRate, SetGridcastUpdateRate, true);
|
|
_cfg.OnValueChanged(CCVars.RadiationGridcastSimplifiedSameGrid, SetGridcastSimplifiedSameGrid, true);
|
|
_cfg.OnValueChanged(CCVars.RadiationGridcastMaxDistance, SetGridcastMaxDistance, true);
|
|
}
|
|
|
|
private void UnsubscribeCvars()
|
|
{
|
|
_cfg.UnsubValueChanged(CCVars.RadiationMinIntensity, SetMinRadiationIntensity);
|
|
_cfg.UnsubValueChanged(CCVars.RadiationGridcastUpdateRate, SetGridcastUpdateRate);
|
|
_cfg.UnsubValueChanged(CCVars.RadiationGridcastSimplifiedSameGrid, SetGridcastSimplifiedSameGrid);
|
|
_cfg.UnsubValueChanged(CCVars.RadiationGridcastMaxDistance, SetGridcastMaxDistance);
|
|
}
|
|
|
|
private void SetMinRadiationIntensity(float radiationMinIntensity)
|
|
{
|
|
MinIntensity = radiationMinIntensity;
|
|
}
|
|
|
|
private void SetGridcastUpdateRate(float updateRate)
|
|
{
|
|
GridcastUpdateRate = updateRate;
|
|
}
|
|
|
|
private void SetGridcastSimplifiedSameGrid(bool simplifiedSameGrid)
|
|
{
|
|
GridcastSimplifiedSameGrid = simplifiedSameGrid;
|
|
}
|
|
|
|
private void SetGridcastMaxDistance(float maxDistance)
|
|
{
|
|
GridcastMaxDistance = maxDistance;
|
|
}
|
|
}
|