Задать вопрос
@Valera_Petrovi4

Почему цикл for может не работать?

Я написал цикл for для включение на сцене каждого элемента массива и присвоения ему нужного значения, поставил его в Update() и условие для срабатывания, но при выполнении условия цикл не выполняет действия, ошибок никаких в консоли нет, не понимаю где упустил логику и упущена ли она вообще
if (lines.Lines[index].buttonsArray[0].gameObject == false)
            {
                for (int i = 0; i != lines.Lines[index].buttonsArray.Length; i++)
                {
                    lines.Lines[index].buttonsArray[i].gameObject.SetActive(true);
                    lines.Lines[index].buttonsArray[i].text = lines.Lines[index].buttonsText[i];
                }
            }
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
@Neonoviiwolf
Flutter developer
потому что писать нормально циклы нужно усвоить, никто не пишет != в for
научится дробить объекты на части, что это за больное страдание писать в каждом поле lines.Lines[index].buttonsArray[0].gameObject?
lines.Lines[index].buttonsArray[0].gameObject - нельзя сразу к [0] сразу обращаться, не проверив наличие хотя бы одного элемента в массиве

вот как раздробишь, сможешь брейкпойнты поставить и нормально сам уже разобраться сможешь
Ответ написан
Комментировать
GavriKos
@GavriKos Куратор тега Unity
if (lines.Lines[index].buttonsArray[0].gameObject == false)

For выглядит рабочим. А вот что ожидается от этого кода - непонятно. Скорее всего вовнутрь никогда не попадет выполнение. Наверное вы хотели проверить что объект выключен, для этого нехватает какого ить .isActive. А так просто выглядит как проверка на отсутствие объекта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы