2024-05-03 20:40:31 +03:00
|
|
|
using Robust.Shared.Audio;
|
|
|
|
|
|
2024-05-01 19:55:48 +03:00
|
|
|
namespace Content.Server._CP14.Temperature.Fireplace;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// component for player-controlled fire. Can be fueled.
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
|
|
[RegisterComponent, Access(typeof(CP14FireplaceSystem))]
|
|
|
|
|
public sealed partial class CP14FireplaceComponent : Component
|
|
|
|
|
{
|
2024-05-03 20:40:31 +03:00
|
|
|
[DataField]
|
|
|
|
|
public string ContainerId = "storagebase";
|
|
|
|
|
|
2024-05-01 19:55:48 +03:00
|
|
|
/// <summary>
|
|
|
|
|
/// The abstract amount of fuel that is used to keep a fire burning
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public float MaxFuelLimit = 100f;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// how much the flame grows or dies out with the presence or absence of fuel
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public float FireFadeDelta = 0.2f;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// current fuel quantity
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
2024-05-30 13:22:25 +03:00
|
|
|
public float Fuel = 10f;
|
2024-05-01 19:55:48 +03:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// how much fuel is wasted every "UpdateFrequency"
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public float FuelDrainingPerUpdate = 1f;
|
|
|
|
|
|
|
|
|
|
[DataField]
|
|
|
|
|
public TimeSpan UpdateFrequency = TimeSpan.FromSeconds(2f);
|
|
|
|
|
|
|
|
|
|
[DataField]
|
2024-05-03 20:40:31 +03:00
|
|
|
public TimeSpan NextUpdateTime = TimeSpan.Zero;
|
2024-05-01 19:55:48 +03:00
|
|
|
|
|
|
|
|
[DataField]
|
2024-05-03 20:40:31 +03:00
|
|
|
public SoundSpecifier InsertFuelSound = new SoundPathSpecifier("/Audio/_CP14/Items/campfire_whoosh.ogg");
|
2024-05-01 19:55:48 +03:00
|
|
|
}
|