Добрый день!
Новичок в программировании.
Есть такая функция
private void GenerateBallAtTime()
{
int posx = Random.Range(60, 1020);
int posy = Random.Range(100, 1680);
int radius = 100;
if (Physics2D.CircleCastAll(new Vector2(posx, posy), radius, Vector2.zero, 0.0f, mask).Length == 0)
{
GameObject tmpball = Instantiate(newball, new Vector3(posx, posy, 10), Quaternion.identity);
}
else
{
GenerateBallAtTime();
}
}
В общем так я пытаюсь найти свободное место на поле для шарика. Берем случайную координату смотрим есть ли в заданном радиусе шары если нет то спавним если есть то повторяем заново. Все работает до тех пор пока на поле есть свободное место. Когда места уже нет то пишет ошибку stackoverflow и приложение виснет =( как можно это побороть ? пытался через try catch ошибка ловится но все равно перед этим подвисает.
Спасибо!