PressureEvent.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. namespace Content.Server.Atmos
  2. {
  3. public abstract class PressureEvent : EntityEventArgs
  4. {
  5. /// <summary>
  6. /// The environment pressure.
  7. /// </summary>
  8. public float Pressure { get; }
  9. /// <summary>
  10. /// The modifier for the apparent pressure.
  11. /// This number will be added to the environment pressure for calculation purposes.
  12. /// It can be negative to reduce the felt pressure, or positive to increase it.
  13. /// </summary>
  14. /// <remarks>
  15. /// Do not set this directly. Add to it, or subtract from it to modify it.
  16. /// </remarks>
  17. public float Modifier { get; set; } = 0f;
  18. /// <summary>
  19. /// The multiplier for the apparent pressure.
  20. /// The environment pressure will be multiplied by this for calculation purposes.
  21. /// </summary>
  22. /// <remarks>
  23. /// Do not set, add to or subtract from this directly. Multiply this by your multiplier only.
  24. /// </remarks>
  25. public float Multiplier { get; set; } = 1f;
  26. protected PressureEvent(float pressure)
  27. {
  28. Pressure = pressure;
  29. }
  30. }
  31. public sealed class LowPressureEvent : PressureEvent
  32. {
  33. public LowPressureEvent(float pressure) : base(pressure) { }
  34. }
  35. public sealed class HighPressureEvent : PressureEvent
  36. {
  37. public HighPressureEvent(float pressure) : base(pressure) { }
  38. }
  39. }