Отслеживание Unity UI Button внутри цикла
Ребят, помогите. Делаю линейный тестировщик . Для этого решил сделать рандомный подбор Canvas c вопросом в заголовке и ответами с рандомом по позициям (1 вопрос в виде текста, 4 ответа в виде кнопок). Я сделал цикл с рандомным выбором Canvas из массива, с последующим перемещением оного в конец этого самого массива и уменьшением диапазона рандома на 1 (для того, чтобы вопрос больше не попадался после первого раза).
Теперь вопрос. При нажатии на кнопку каждый раз этот участок кода запускается заново, т.к. все кнопки настроены на функцию Button_Start.
Мне по идее надо отслеживать нажатие кнопок не отдельным методом, а каким-то условием внутри цикла, чтобы цикл не запускался заново и счетчик уменьшался с каждым разом на 1. Как это сделать? Как отследить UI кнопку так, чтобы при этом цикл работал?
И ещё, как задать рандом ответов внутри Canvas по позициям, если эти ответы уже есть внутри Canvas как префаба?
public void Button_Start()
{
int rand;
int k = objects.Length;
for (int i = 0; i < objects.Length; i++)
{
rand = Random.Range(0, k); // Задаем рандом в диапазоне кол-ва вопросов
Instantiate(objects[rand], objects[rand].transform.position, Quaternion.identity); // Задаем спавн вопросов в рандомном порядке
GameObject h = objects[k];
objects[k] = objects[rand];
objects[rand] = h;
k -= 1;
}
Instantiate(final, final.transform.position, Quaternion.identity);
}