75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
/* INFINITY CODE 2013-2019 */
|
|
/* http://www.infinity-code.com */
|
|
|
|
using System;
|
|
using UnityEngine;
|
|
|
|
namespace InfinityCode.RealWorldTerrain
|
|
{
|
|
/// <summary>
|
|
/// Class of integer range.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class RealWorldTerrainRangeI
|
|
{
|
|
/// <summary>
|
|
/// Minimum value.
|
|
/// </summary>
|
|
public int min = 1;
|
|
|
|
/// <summary>
|
|
/// Minimum limit.
|
|
/// </summary>
|
|
public int minLimit = int.MinValue;
|
|
|
|
/// <summary>
|
|
/// Maximum value.
|
|
/// </summary>
|
|
public int max = 50;
|
|
|
|
/// <summary>
|
|
/// Maximum limit.
|
|
/// </summary>
|
|
public int maxLimit = int.MaxValue;
|
|
|
|
public RealWorldTerrainRangeI()
|
|
{
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Constructor.
|
|
/// </summary>
|
|
/// <param name="min">Minimum value.</param>
|
|
/// <param name="max">Maximum value.</param>
|
|
/// <param name="minLimit">Minimum limit.</param>
|
|
/// <param name="maxLimit">Maximum limit.</param>
|
|
public RealWorldTerrainRangeI(int min, int max, int minLimit = int.MinValue, int maxLimit = int.MaxValue)
|
|
{
|
|
this.min = min;
|
|
this.max = max;
|
|
this.minLimit = minLimit;
|
|
this.maxLimit = maxLimit;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Sets new minimum and maximum values.
|
|
/// </summary>
|
|
/// <param name="min">New minimum value.</param>
|
|
/// <param name="max">New maximum value.</param>
|
|
public void Set(float min, float max)
|
|
{
|
|
this.min = Mathf.Max(minLimit, (int)min);
|
|
this.max = Mathf.Min(maxLimit, (int)max);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets random integer between the minimum and maximum.
|
|
/// </summary>
|
|
/// <returns>Rendom integer value.</returns>
|
|
public int Random()
|
|
{
|
|
return UnityEngine.Random.Range(min, max);
|
|
}
|
|
}
|
|
} |