using Content.Shared.Temperature.Systems;
using Robust.Shared.GameStates;
namespace Content.Shared.Temperature.Components;
///
/// This is used for an entity that varies in speed based on current temperature.
///
[RegisterComponent, NetworkedComponent, Access(typeof(SharedTemperatureSystem)), AutoGenerateComponentState, AutoGenerateComponentPause]
public sealed partial class TemperatureSpeedComponent : Component
{
///
/// Pairs of temperature thresholds to applied slowdown values.
///
[DataField]
public Dictionary Thresholds = new();
///
/// The current speed modifier from we reached.
/// Stored and networked so that the client doesn't mispredict temperature
///
[DataField, AutoNetworkedField]
public float? CurrentSpeedModifier;
///
/// The time at which the temperature slowdown is updated.
///
[DataField, AutoNetworkedField, AutoPausedField]
public TimeSpan? NextSlowdownUpdate;
}