Я боролся с методом, который должен проверить, а затем изменить переменную из отдельного скрипта и объекта. Я пытаюсь проверить массив для записей, которые не являются нулевыми, и записей, которые еще не используются в моих заполнителях. Когда оба они имеют значение true, предполагается, что содержимое этого массива скопировано в мою строковую переменную actualReadIn, которая содержится в другом сценарии. Категории - это строковый массив, из которого я читаю.
Вот код, который у меня есть:
int checkForNotNull(string[] a)
{
for (int x = 0; x < a.Length; x++)
{
if (a[x]!= "" && orbScript1.actualReadIn != a[x] && orbScript2.actualReadIn != a[x] && orbScript3.actualReadIn != a[x] && orbScript4.actualReadIn != a[x]
&& orbScript5.actualReadIn != a[x] && orbScript6.actualReadIn != a[x]&& orbScript7.actualReadIn != a[x] && orbScript8.actualReadIn != a[x])
//^^ This should both check to see if the entry is not nothing, and see if the entry matches any others orbs.
return x;
}
return -1;
}
^^ Этот код проверяет, что другие заполнители еще не содержит запись массива
void readArray(string actualRead)
{
if (taskPhase == 1)
{
if (actualRead == "")
{
actualRead = Categories[checkForNotNull(Categories)];
}
}
if (taskPhase == 2)
{
}
}
^^ Аргумент этого скрипта должен быть orbScript1.actualReadIn. Какую строковую переменную я пытаюсь заполнить. Проблема возникает, когда я пытаюсь вызвать метод
readArray(orbScript1.actualReadIn);
В этом нет ошибок, но он не заполняет значение в orbScript1. Я довольно новичок в этом, поэтому, если я делаю что-то плохое или не является обычной практикой, дайте мне знать.
Если вам нужны разъяснения, я сделаю все возможное, чтобы предоставить это.
Спасибо.