РЕДАКТИРОВАТЬ: OP здесь, его ответ.Не можете принять мой собственный ответ в течение 2 дней?Не знаю, я стог нуб.Спасибо людям, которые помогли.
Я хочу иметь цикл, который генерирует случайную координату и добавляет ее в список, только если эта координата еще не существует в списке.
И просто сохраняетцикл до тех пор, пока в списке не появится правильное число координат.
while (spawnPositions.Count < myPlayer.myPlayerUnits.Count)
{
Debug.Log("While");
int[,] rnd = new int[UnityEngine.Random.Range(minX, maxX), UnityEngine.Random.Range(minZ, maxZ)];
if (spawnPositions.Contains(rnd) == false)
{
Debug.Log("SpawnPos Added!");
spawnPositions.Add(rnd);
}
}
Проблема в том, что оператор if всегда верен.Выходные данные консоли показывают количество циклов цикла X раз, а выражение if также является истинным значением X раз.
Это просто невозможно сделать в цикле while.Или я что-то не так делаю?Спасибо!
РЕДАКТИРОВАТЬ: Да, и чтобы быть ясно, да дубликаты добавляются.Я пытаюсь сгенерировать 5 уникальных координат в области 3х3, и почти всегда есть дубликаты!