39 lines
973 B
C#
39 lines
973 B
C#
namespace EscapeRoomEngine.Engine.Runtime.Utilities
|
|
{
|
|
/// <summary>
|
|
/// This struct represents an integer range.
|
|
/// </summary>
|
|
public struct Range
|
|
{
|
|
public int min, max;
|
|
|
|
/// <summary>
|
|
/// The length of the range, excluding the maximum value.
|
|
/// </summary>
|
|
public int Length => max - min;
|
|
|
|
public Range(int min, int max)
|
|
{
|
|
this.min = min;
|
|
this.max = max;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Create an array of every value in this range.
|
|
/// </summary>
|
|
public int[] ToArray(bool includeMax = false)
|
|
{
|
|
var count = includeMax ? Length + 1 : Length;
|
|
var array = new int[count];
|
|
|
|
for (var i = 0; i < count; i++)
|
|
{
|
|
array[i] = min + i;
|
|
}
|
|
|
|
return array;
|
|
}
|
|
|
|
public override string ToString() => $"{{{min}, ..., {max}}}";
|
|
}
|
|
} |