DecalPrototype.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Robust.Shared.Prototypes;
  2. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
  3. using Robust.Shared.Utility;
  4. namespace Content.Shared.Decals
  5. {
  6. [Prototype]
  7. public sealed partial class DecalPrototype : IPrototype, IInheritingPrototype
  8. {
  9. [IdDataField] public string ID { get; private set; } = null!;
  10. [DataField("sprite")] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid;
  11. [DataField("tags")] public List<string> Tags = new();
  12. [DataField("showMenu")] public bool ShowMenu = true;
  13. /// <summary>
  14. /// If the decal is rotated compared to our eye should we snap it to south.
  15. /// </summary>
  16. [DataField("snapCardinals")] public bool SnapCardinals = false;
  17. /// <summary>
  18. /// True if this decal is cleanable by default.
  19. /// </summary>
  20. [DataField]
  21. public bool DefaultCleanable;
  22. /// <summary>
  23. /// True if this decal has custom colors applied by default
  24. /// </summary>
  25. [DataField]
  26. public bool DefaultCustomColor;
  27. /// <summary>
  28. /// True if this decal snaps to a tile by default
  29. /// </summary>
  30. [DataField]
  31. public bool DefaultSnap = true;
  32. [ParentDataField(typeof(AbstractPrototypeIdArraySerializer<DecalPrototype>))]
  33. public string[]? Parents { get; private set; }
  34. [NeverPushInheritance]
  35. [AbstractDataField]
  36. public bool Abstract { get; private set; }
  37. }
  38. }