RealWorldTerrainRangeI.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /* INFINITY CODE 2013-2019 */
  2. /* http://www.infinity-code.com */
  3. using System;
  4. using UnityEngine;
  5. namespace InfinityCode.RealWorldTerrain
  6. {
  7. /// <summary>
  8. /// Class of integer range.
  9. /// </summary>
  10. [Serializable]
  11. public class RealWorldTerrainRangeI
  12. {
  13. /// <summary>
  14. /// Minimum value.
  15. /// </summary>
  16. public int min = 1;
  17. /// <summary>
  18. /// Minimum limit.
  19. /// </summary>
  20. public int minLimit = int.MinValue;
  21. /// <summary>
  22. /// Maximum value.
  23. /// </summary>
  24. public int max = 50;
  25. /// <summary>
  26. /// Maximum limit.
  27. /// </summary>
  28. public int maxLimit = int.MaxValue;
  29. public RealWorldTerrainRangeI()
  30. {
  31. }
  32. /// <summary>
  33. /// Constructor.
  34. /// </summary>
  35. /// <param name="min">Minimum value.</param>
  36. /// <param name="max">Maximum value.</param>
  37. /// <param name="minLimit">Minimum limit.</param>
  38. /// <param name="maxLimit">Maximum limit.</param>
  39. public RealWorldTerrainRangeI(int min, int max, int minLimit = int.MinValue, int maxLimit = int.MaxValue)
  40. {
  41. this.min = min;
  42. this.max = max;
  43. this.minLimit = minLimit;
  44. this.maxLimit = maxLimit;
  45. }
  46. /// <summary>
  47. /// Sets new minimum and maximum values.
  48. /// </summary>
  49. /// <param name="min">New minimum value.</param>
  50. /// <param name="max">New maximum value.</param>
  51. public void Set(float min, float max)
  52. {
  53. this.min = Mathf.Max(minLimit, (int)min);
  54. this.max = Mathf.Min(maxLimit, (int)max);
  55. }
  56. /// <summary>
  57. /// Gets random integer between the minimum and maximum.
  58. /// </summary>
  59. /// <returns>Rendom integer value.</returns>
  60. public int Random()
  61. {
  62. return UnityEngine.Random.Range(min, max);
  63. }
  64. }
  65. }