UniVRM/Assets/VRM10/Runtime/IO/IndexExtensions.cs
ousttrue 80761cc01a add NullableSerialization
* Nullable<int> only
2022-07-11 20:03:59 +09:00

45 lines
982 B
C#

namespace UniVRM10
{
public static class IndexExtensions
{
public static bool TryGetValidIndex(this int value, int count, out int index)
{
if (value < 0)
{
index = -1;
return false;
}
if (value >= count)
{
index = -1;
return false;
}
index = value;
return true;
}
public static bool TryGetValidIndex(this int? value, int count, out int index)
{
if (!value.HasValue)
{
index = -1;
return false;
}
if (value < 0)
{
index = -1;
return false;
}
if (value >= count)
{
index = -1;
return false;
}
index = value.Value;
return true;
}
}
}