1
0

Events.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Content.Shared.DoAfter;
  2. using Content.Shared.FixedPoint;
  3. using Robust.Shared.Audio;
  4. using Robust.Shared.Serialization;
  5. namespace Content.Shared.Fluids;
  6. [Serializable, NetSerializable]
  7. public sealed partial class AbsorbantDoAfterEvent : DoAfterEvent
  8. {
  9. [DataField("solution", required: true)]
  10. public string TargetSolution = default!;
  11. [DataField("message", required: true)]
  12. public string Message = default!;
  13. [DataField("sound", required: true)]
  14. public SoundSpecifier Sound = default!;
  15. [DataField("transferAmount", required: true)]
  16. public FixedPoint2 TransferAmount;
  17. private AbsorbantDoAfterEvent()
  18. {
  19. }
  20. public AbsorbantDoAfterEvent(string targetSolution, string message, SoundSpecifier sound, FixedPoint2 transferAmount)
  21. {
  22. TargetSolution = targetSolution;
  23. Message = message;
  24. Sound = sound;
  25. TransferAmount = transferAmount;
  26. }
  27. public override DoAfterEvent Clone() => this;
  28. }
  29. /// <summary>
  30. /// Raised when trying to spray something, for example a fire extinguisher.
  31. /// </summary>
  32. [ByRefEvent]
  33. public record struct SprayAttemptEvent(EntityUid User, bool Cancelled = false)
  34. {
  35. public void Cancel()
  36. {
  37. Cancelled = true;
  38. }
  39. }