Обеспечивает возврат уникальных индексов
Конструктор
RandomUnique(System.Random argRnd)
При создании нужно передать объект System.Random.
Свойство
int UsedCount
Сколько индексов уже расходавано.
Методы
Get
int Get(int argMax, GetInt getInt = null)
Получить новый неиспользованный индекс, с максимально возможным (argMax). По умолчанию, для получения нового индекса используется rnd.Next(argMax). Можно переопределить функцию получения нового индекса getInt.
Возврат: -1 - нет свободных индексов, >=0 неиспользованный индекс
MarkUsed()
MarkUsed(int argIndex)
Пометить индекс как использованый.