using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.Vocalization.Components;
///
/// Makes an entity vocalize at set intervals
///
[RegisterComponent]
[AutoGenerateComponentPause]
public sealed partial class VocalizerComponent : Component
{
///
/// Minimum time to wait after speaking to vocalize again
///
[DataField]
public TimeSpan MinVocalizeInterval = TimeSpan.FromMinutes(2);
///
/// Maximum time to wait after speaking to vocalize again
///
[DataField]
public TimeSpan MaxVocalizeInterval = TimeSpan.FromMinutes(6);
///
/// Next time at which to vocalize
///
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
[AutoPausedField]
public TimeSpan NextVocalizeInterval = TimeSpan.Zero;
///
/// If true, messages spoken by this vocalizer will not be logged in the chat window
/// and will only be shown as speech bubbles.
///
[DataField]
public bool HideChat;
}