Vector2Range.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using FirstGearGames.Utilities.Maths;
  2. using UnityEngine;
  3. namespace FirstGearGames.Utilities.Structures
  4. {
  5. [System.Serializable]
  6. public struct Vector2Range
  7. {
  8. public Vector2Range(Vector2 minimum, Vector2 maximum)
  9. {
  10. X = new FloatRange(minimum.x, maximum.x);
  11. Y = new FloatRange(minimum.y, maximum.y);
  12. }
  13. public Vector2Range(FloatRange minimum, FloatRange maximum)
  14. {
  15. X = minimum;
  16. Y = maximum;
  17. }
  18. /// <summary>
  19. /// Minimum range.
  20. /// </summary>
  21. public FloatRange X;
  22. /// <summary>
  23. /// Maximum range.
  24. /// </summary>
  25. public FloatRange Y;
  26. /// <summary>
  27. /// Returns a random value between Minimum and Maximum.
  28. /// </summary>
  29. /// <returns></returns>
  30. public Vector2 RandomInclusive()
  31. {
  32. return new Vector2(
  33. Floats.RandomInclusiveRange(X.Minimum, X.Maximum),
  34. Floats.RandomInclusiveRange(Y.Minimum, Y.Maximum)
  35. );
  36. }
  37. }
  38. }