GlueComponent.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Content.Shared.Chemistry.Reagent;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.GameStates;
  5. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
  6. namespace Content.Shared.Glue;
  7. [RegisterComponent, NetworkedComponent]
  8. [Access(typeof(SharedGlueSystem))]
  9. public sealed partial class GlueComponent : Component
  10. {
  11. /// <summary>
  12. /// Noise made when glue applied.
  13. /// </summary>
  14. [DataField("squeeze")]
  15. public SoundSpecifier Squeeze = new SoundPathSpecifier("/Audio/Items/squeezebottle.ogg");
  16. /// <summary>
  17. /// Solution on the entity that contains the glue.
  18. /// </summary>
  19. [DataField("solution")]
  20. public string Solution = "drink";
  21. /// <summary>
  22. /// Reagent that will be used as glue.
  23. /// </summary>
  24. [DataField("reagent", customTypeSerializer: typeof(PrototypeIdSerializer<ReagentPrototype>))]
  25. public string Reagent = "SpaceGlue";
  26. /// <summary>
  27. /// Reagent consumption per use.
  28. /// </summary>
  29. [DataField("consumptionUnit"), ViewVariables(VVAccess.ReadWrite)]
  30. public FixedPoint2 ConsumptionUnit = FixedPoint2.New(5);
  31. /// <summary>
  32. /// Duration per unit
  33. /// </summary>
  34. [DataField("durationPerUnit"), ViewVariables(VVAccess.ReadWrite)]
  35. public TimeSpan DurationPerUnit = TimeSpan.FromSeconds(6);
  36. }