Отслеживание 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);


}

Ответы (0 шт):