Компонент кнопки Unity. Ошибка добавления делегата в событие OnClick. ⇐ C#
Компонент кнопки Unity. Ошибка добавления делегата в событие OnClick.
Мойкод:
[SerializeField] частный сотрудник[] сотрудники; [SerializeField] частный Transform uiList; [SerializeField] частный GameObject logPrefab; частная пустота OnEnable() { foreach (var сотрудник в сотрудниках) { вар obj = Instantiate(logPrefab, uiList).transform; кнопка var = obj.GetChild(0).GetComponent(); //кнопка = 0 button.onClick.AddListener(delegate () {employee.Upgrade();}); var nameText = obj.GetChild(1).GetComponent(); //кнопка = 0 имяТекст.текст = сотрудник.Имя; } } Unity не отображает ошибки, а приведенный ниже код работает хорошо (текст меняется в новых журналах):
var nameText = obj.GetChild(1).GetComponent(); //кнопка = 0 имяТекст.текст = сотрудник.Имя; Вся проблема в том, что делегат просто не добавляется в список. При нажатии ничего не происходит.
Мойкод:
[SerializeField] частный сотрудник[] сотрудники; [SerializeField] частный Transform uiList; [SerializeField] частный GameObject logPrefab; частная пустота OnEnable() { foreach (var сотрудник в сотрудниках) { вар obj = Instantiate(logPrefab, uiList).transform; кнопка var = obj.GetChild(0).GetComponent(); //кнопка = 0 button.onClick.AddListener(delegate () {employee.Upgrade();}); var nameText = obj.GetChild(1).GetComponent(); //кнопка = 0 имяТекст.текст = сотрудник.Имя; } } Unity не отображает ошибки, а приведенный ниже код работает хорошо (текст меняется в новых журналах):
var nameText = obj.GetChild(1).GetComponent(); //кнопка = 0 имяТекст.текст = сотрудник.Имя; Вся проблема в том, что делегат просто не добавляется в список. При нажатии ничего не происходит.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение