Установить сопрограмму, которая будет запускаться при нажатии для каждой кнопки в списке - PullRequest
0 голосов
/ 03 июля 2019

У меня есть List<GameObject> button_list в Unity и я хочу добавить мою ChangeScene сопрограмму к onClick каждого элемента Button (каждый игровой объект имеет Button компонент)

Как я могу это сделать?

public List<GameObject> button_list = new List<GameObject>();

private IEnumerator ChangeScene()
{
    yield return SceneManager.LoadSceneAsync(toLoad);
    yield return SceneManager.UnloadSceneAsync(toUnload);
}

1 Ответ

1 голос
/ 03 июля 2019

Вы можете добавить анонимную функцию, запускающую сопрограмму ChangeScene в качестве прослушивателя для каждой кнопки onClick:

foreach (GameObject go in button_list) 
{ 
    go.GetComponent<Button>().onClick.AddListener(() => StartCoroutine(ChangeScene()));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...