using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; using Robust.Shared.Utility; namespace Content.Shared.Decals { [Prototype("decal")] public sealed partial class DecalPrototype : IPrototype, IInheritingPrototype { [IdDataField] public string ID { get; } = null!; [DataField("sprite")] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid; [DataField("tags")] public List Tags = new(); [DataField("showMenu")] public bool ShowMenu = true; /// /// If the decal is rotated compared to our eye should we snap it to south. /// [DataField("snapCardinals")] public bool SnapCardinals = false; /// /// True if this decal is cleanable by default. /// [DataField] public bool DefaultCleanable; /// /// True if this decal has custom colors applied by default /// [DataField] public bool DefaultCustomColor; /// /// True if this decal snaps to a tile by default /// [DataField] public bool DefaultSnap = true; [ParentDataField(typeof(AbstractPrototypeIdArraySerializer))] public string[]? Parents { get; } [NeverPushInheritance] [AbstractDataField] public bool Abstract { get; } } }