using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Trigger.Components.Triggers; /// /// Constantly triggers after being added to an entity. /// [RegisterComponent, NetworkedComponent] [AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class RepeatingTriggerComponent : BaseTriggerOnXComponent { /// /// How long to wait between triggers. /// The first trigger starts this long after the component is added. /// [DataField, AutoNetworkedField] public TimeSpan Delay = TimeSpan.FromSeconds(1); /// /// When the next trigger will be. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] [AutoNetworkedField, AutoPausedField] public TimeSpan NextTrigger = TimeSpan.Zero; }