Итак, корень проблемы здесь:
if (counter < 6) {
bigroad.transform.localPosition = new Vector3(xIndex * 19, yIndex * -19, 0f);
}
else
{
bigroad.transform.localPosition = new Vector3(xIndex2 * 19, yIndex2 * -95, 0f);
}
Поскольку вы умножаете на -95, вы помещаете его в первый ряд.
То, что вы должны сделать вместо этого, выглядит примерно так:
if (counter < 6) {
bigroad.transform.localPosition = new Vector3(xIndex * 19, yIndex * -19, 0f);
}
else
{
int reminder = counter % 6;
bigroad.transform.localPosition = new Vector3((xIndex2 + reminder) * 19, yIndex2 -19, 0f);
}
Таким образом, в основном вы будете продолжать размещать блок в последнем ряду, который в вашем случае вы используете значение -19, умноженное на индекс.
И напоминание поможет вам вместо этого изменить столбец, то есть переместить блоки по оси X. Так, например, 7% 6 = 1. Затем вы добавите один (1 позиция справа) к блоку. Если 8% 6 = 2. Вы добавите две позиции справа ...
Редактировать:
Это может быть из-за этой части. Возможно ли, что вы уже увеличиваете значение оси здесь? :
if (counter > 6)
{
xIndex2 += 1;
yIndex2 = 0;
table[xIndex2, yIndex2] = result;
}
Редактировать 2:
Я не уверен, что ваша первая позиция - когда yIndex = 0 или yIndex = 1. Я предполагаю, что первая позиция - когда yIndex = 1. Дайте мне знать, если это когда yIndex = 0.
if (counter < 6) {
bigroad.transform.localPosition = new Vector3(xIndex * 19, yIndex * -19, 0f);
}
else
{
int reminder = counter % 6;
bigroad.transform.localPosition = new Vector3((xIndex2 + reminder) * 19, -19, 0f);
}
Редактировать 3:
Теперь вам нужно удалить эту часть, так как вы добавляете сюда дополнительный +1 к xIndex
if (counter > 6)
{
xIndex2 = 0; //Here you were adding + 1
yIndex2 = 0;
table[xIndex2, yIndex2] = result;
}