Files
modular-vr/Assets/Engine/Runtime/Utilities/Range.cs
2022-12-29 16:16:49 +01:00

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}}}";
}
}