using Content.Shared.Smoking;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.IgnitionSource.Components;
[NetworkedComponent, RegisterComponent, AutoGenerateComponentState, AutoGenerateComponentPause]
public sealed partial class MatchstickComponent : Component
{
///
/// Current state to matchstick. Can be Unlit, Lit or Burnt.
///
[DataField, AutoNetworkedField]
public SmokableState State = SmokableState.Unlit;
///
/// How long the matchstick will burn for.
///
[DataField, AutoNetworkedField]
public TimeSpan Duration = TimeSpan.FromSeconds(10);
///
/// The time that the match will burn out. If null, that means the match is unlit.
///
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField]
public TimeSpan? TimeMatchWillBurnOut;
///
/// Sound played when you ignite the matchstick.
///
[DataField]
public SoundSpecifier? IgniteSound;
}