1
0

SprayPainterComponent.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using Content.Shared.DoAfter;
  2. using Robust.Shared.Audio;
  3. using Robust.Shared.GameStates;
  4. namespace Content.Shared.SprayPainter.Components;
  5. [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
  6. public sealed partial class SprayPainterComponent : Component
  7. {
  8. [DataField]
  9. public SoundSpecifier SpraySound = new SoundPathSpecifier("/Audio/Effects/spray2.ogg");
  10. [DataField]
  11. public TimeSpan AirlockSprayTime = TimeSpan.FromSeconds(3);
  12. [DataField]
  13. public TimeSpan PipeSprayTime = TimeSpan.FromSeconds(1);
  14. /// <summary>
  15. /// Pipe color chosen to spray with.
  16. /// </summary>
  17. [DataField, AutoNetworkedField]
  18. public string? PickedColor;
  19. /// <summary>
  20. /// Pipe colors that can be selected.
  21. /// </summary>
  22. [DataField]
  23. public Dictionary<string, Color> ColorPalette = new();
  24. /// <summary>
  25. /// Airlock style index selected.
  26. /// After prototype reload this might not be the same style but it will never be out of bounds.
  27. /// </summary>
  28. [DataField, AutoNetworkedField]
  29. public int Index;
  30. }