Есть вот такой код
Код
for (int i = 0; i <15 ; i++)
{
link1:
coin_flip = Random.Range(0, 100); // Задается вектор направления построения следующей точки.
if (coin_flip > 0 && coin_flip < 25) // Проверяем куда пойдет построение. В данном случаее по оси Х в положительном направлении.
{
next_pos_x = start_pos_x; // Стартовые позиции заданы случайно.
next_pos_x++;
next_pos_y = start_pos_y;
if (
next_pos_x > 6 || next_pos_y > 6 || next_pos_x < 0 || next_pos_y < 0|| // Проверяем на выход из массива размер которого 7х7
brick[next_pos_x, next_pos_y + 1].activeInHierarchy == true || // Проверка на существование соседних клеток. Тут и выдает ошибку.
brick[next_pos_x, next_pos_y - 1].activeInHierarchy == true ||
brick[next_pos_x, next_pos_y].activeInHierarchy == true // Проверка на существование той клетки которую хотим построить.
)
{
start_pos_x = new_start_x;
start_pos_y = new_start_y;
goto link1;
}
else
{
brick[next_pos_x, next_pos_y].SetActive(true); // Если все прошло успешно то включаем следующую клетку.
start_pos_x = next_pos_x; // Делаем новую точку как стартовую.
}
Тут происходит построение точек в массиве 7х7 от рандомной стартовой позиции
Проблем несколько:
1) Как избавиться от ошибок что выдает сам Unity?
2) Как сделать так что бы строилось столько клеток сколько указанно?
3) И может вообще это можно сделать как то по другому?