for (int i = 0; i < 10; i++) {
if ((curPage * 10 + i) < objSpawner.maxObjects) {
if (objectDelivery [i] == false)
go.GetComponent<TextMesh> ().text +=
collorObjectText [curPage * 10 + i] +
kindOfObjectText [curPage * 10 + i] +
propObjectText [curPage * 10 + i] +
stickerObjectText [curPage * 10 + i] +
massObjectText [curPage * 10 + i] +
destinationText [curPage * 10 + i] + "\n";
else if (objectDelivery [i] == true)
go.GetComponent<TextMesh> ().text +=
"<color=#00000055>" + collorObjectText [curPage * 10 + i] + "</color>" +
"<color=#00000055>" + kindOfObjectText [curPage * 10 + i] + "</color>" +
"<color=#00000055>" + propObjectText [curPage * 10 + i] + "</color>" +
"<color=#00000055>" + stickerObjectText [curPage * 10 + i] + "</color>" +
"<color=#00000055>" + massObjectText [curPage * 10 + i] + "</color>" +
"<color=#00000055>" + destinationText [curPage * 10 + i] + "</color>" + "\n";
}
}
Пытаюсь сделать журнал с записями, по 10 строк на одной странице. Если objectDelivery [i] == false, то цвет строки обычный, если true, то становится прозрачным.
curPage номер страницы, по умолчанию 0, когда тыкаю стрелку вправо (она есть и работает), то curPage становится 1, ну и так далее. Все это хорошо работает и показывает все, что нужно (в начале первые 10 строк, на следующей странице вторые 10 строк и так далее), но!
Проблема следующая: если objectDelivery [2] == true (2 для примера, вообще любой индекс МЕНЬШЕ 10), то прозрачность меняется у объектов с индексами 2, 12, 22 и так далее. Если objectDelivery [11] == true (больше или равен 10), то прозрачность не меняется совсем. Намудрил я, конечно, знатно, но если не использовать curPage, то он весь список выводит на экран, что очень плохо.
Собственно, проблема >=10 от того, что i указана до 10, <10 наверно имеет те же корни, но как реализовать прозрачность строки для конкретного объекта, придумать не могу
Обновление:
for (int i = 0; i < 10; i++) { // для того, чтобы на странице отображались ТОЛЬКО 10 строк (без этого отображаются все строки
if ((curPage * 10 + i) < objSpawner.maxObjects) { // проверяет, чтобы индекс не вышел за пределы maxObjects (и задает кол-во страниц
if (objectDelivery [i] == false)
go.GetComponent<TextMesh> ().text +=
collorObjectText [curPage * 10 + i] + "\n";
else if (objectDelivery [i] == true)
go.GetComponent<TextMesh> ().text +=
"<color=#00000055>" + collorObjectText [curPage * 10 + i] + "</color>" +"\n";
}
}
Вот немного сократил. Прозрачной я хочу сделать только одну строку, которая соответствует определенному индексу (от 0 до maxObjects), при этом первые 10 строк расположены на первой странице, вторые на второй и так далее. Вот эта часть говорит, на какой странице будет строка, соответствующая определеному индексу [curPage * 10 + i]
Попробуйте вот так (я в двух местах заменил i на curPage * 10 + i):
for (int i = 0; i < 10; i++) { // для того, чтобы на странице отображались ТОЛЬКО 10 строк (без этого отображаются все строки
if ((curPage * 10 + i) < objSpawner.maxObjects) { // проверяет, чтобы индекс не вышел за пределы maxObjects (и задает кол-во страниц
if (objectDelivery [curPage * 10 + i] == false)
go.GetComponent<TextMesh> ().text +=
collorObjectText [curPage * 10 + i] + "\n";
else if (objectDelivery [curPage * 10 + i] == true)
go.GetComponent<TextMesh> ().text +=
"<color=#00000055>" + collorObjectText [curPage * 10 + i] + "</color>" +"\n";
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники