using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Glue; [RegisterComponent] public sealed class GluedComponent : Component { /// /// Reverts name to before prefix event (essentially removes prefix). /// [DataField("beforeGluedEntityName"), ViewVariables(VVAccess.ReadOnly)] public string BeforeGluedEntityName = String.Empty; /// /// Sound made when glue applied. /// [DataField("squeeze")] public SoundSpecifier Squeeze = new SoundPathSpecifier("/Audio/Items/squeezebottle.ogg"); /// /// Timings for glue duration and removal. /// [DataField("nextGlueTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] public TimeSpan? NextGlueTime; [DataField("glueTime", customTypeSerializer: typeof(TimeOffsetSerializer))] public TimeSpan GlueTime = TimeSpan.Zero; [DataField("glueCooldown")] public TimeSpan GlueCooldown = TimeSpan.FromSeconds(20); /// /// Bools which control timings and when to apply the glue effect. /// public bool GlueBroken = false; [DataField("glued")] [ViewVariables(VVAccess.ReadWrite)] public bool Glued = false; }