using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.IgnitionSource; /// /// Ignites for a certain length of time when triggered. /// Requires along with triggering components. /// [RegisterComponent, Access(typeof(IgniteOnTriggerSystem))] public sealed partial class IgniteOnTriggerComponent : Component { /// /// Once ignited, the time it will unignite at. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] public TimeSpan IgnitedUntil = TimeSpan.Zero; /// /// How long the ignition source is active for after triggering. /// [DataField, ViewVariables(VVAccess.ReadWrite)] public TimeSpan IgnitedTime = TimeSpan.FromSeconds(0.5); /// /// Sound to play when igniting. /// [DataField] public SoundSpecifier IgniteSound = new SoundCollectionSpecifier("WelderOn"); }