LineRadiation.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. namespace MonoGame.Extended.Particles.Profiles;
  2. /// <summary>
  3. /// Defines the radiation pattern for particles when using a <see cref="LineProfile"/>.
  4. /// </summary>
  5. /// <remarks>
  6. /// This enumeration determines how a particle's initial heading is calculated relative to the line segment.
  7. /// Different radiation patterns enable various effects such as rain, fountains, or chaotic dispersion.
  8. /// </remarks>
  9. public enum LineRadiation
  10. {
  11. /// <summary>
  12. /// Particles move in random directions unrelated to their position.
  13. /// </summary>
  14. /// <remarks>
  15. /// In this mode, the initial heading of particles is completely random and has no relationship to their position
  16. /// along the line.
  17. /// </remarks>
  18. None,
  19. /// <summary>
  20. /// Particles move in the direction specified by the <see cref="LineProfile.Direction"/> property.
  21. /// </summary>
  22. /// <remarks>
  23. /// In this mode, all particles are given the same initial heading as specified by the Direction vector. This allows
  24. /// complete control over particle movement direction regardless of the line's orientation.
  25. /// </remarks>
  26. Directional,
  27. /// <summary>
  28. /// Particles move perpendicular to the line axis in the upward screen direction.
  29. /// </summary>
  30. /// <remarks>
  31. /// In this mode, particles are given initial headings perpendicular to the line's axis, pointing upward in screen
  32. /// coordinates (negative Y direction).
  33. /// </remarks>
  34. PerpendicularUp,
  35. /// <summary>
  36. /// Particles move perpendicular to the line axis in the downward screen direction.
  37. /// </summary>
  38. /// <remarks>
  39. /// In this mode, particles are given initial headings perpendicular to the line's axis, pointing downward in screen
  40. /// coordinates (positive Y direction).
  41. /// </remarks>
  42. PerpendicularDown
  43. }