| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using Content.Server.Temperature.Systems;
- namespace Content.Server.Temperature.Components;
- /// <summary>
- /// Entity has an internal temperature which conducts heat from its surface.
- /// Requires <see cref="TemperatureComponent"/> to function.
- /// </summary>
- /// <remarks>
- /// Currently this is only used for cooking but animal metabolism could use it too.
- /// Too hot? Suffering heatstroke, start sweating to cool off and increase thirst.
- /// Too cold? Suffering hypothermia, start shivering to warm up and increase hunger.
- /// </remarks>
- [RegisterComponent, Access(typeof(TemperatureSystem))]
- public sealed partial class InternalTemperatureComponent : Component
- {
- /// <summary>
- /// Internal temperature which is modified by surface temperature.
- /// This gets set to <see cref="TemperatureComponent.CurrentTemperature"/> on mapinit.
- /// </summary>
- [DataField, ViewVariables(VVAccess.ReadWrite)]
- public float Temperature;
- /// <summary>
- /// Thermal conductivity of the material in W/m/K.
- /// Higher conductivity means its insides will heat up faster.
- /// </summary>
- [DataField, ViewVariables(VVAccess.ReadWrite)]
- public float Conductivity = 0.5f;
- /// <summary>
- /// Average thickness between the surface and the inside.
- /// For meats and such this is constant.
- /// Thicker materials take longer for heat to dissipate.
- /// </summary>
- [DataField(required: true), ViewVariables(VVAccess.ReadWrite)]
- public float Thickness;
- /// <summary>
- /// Surface area in m^2 for the purpose of conducting surface temperature to the inside.
- /// Larger surface area means it takes longer to heat up/cool down
- /// </summary>
- /// <remarks>
- /// For meats etc this should just be the area of the cooked surface not the whole thing as it's only getting heat from one side usually.
- /// </remarks>
- [DataField(required: true), ViewVariables(VVAccess.ReadWrite)]
- public float Area;
- }
|