Как добавить слушателя onClick с переменной для кнопки? - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь добавить вызов функции для кнопки с помощью кода. Я смог сделать это легко для моего меню, но по некоторым причинам оно не работает для моих кнопок. Вот мой код:

btn.GetComponent<Button>().onClick.AddListener(onSpriteSheetChange(spriteSheet.Grass)); 

Этот код дает мне ошибку: невозможно преобразовать из 'void' в 'UnityEngine.Events.UnityAction' Assembly-CSharp

Ответы [ 2 ]

4 голосов
/ 04 февраля 2020

Попробуйте ниже фрагмент:

btn.GetComponent<Button>().onClick.AddListener(() => onSpriteSheetChange(spriteSheet.Grass));
0 голосов
/ 04 февраля 2020

Addlistener принимает UnityAction, поэтому, если вы добавите обычный метод void, у вас возникнет эта проблема. Как указано выше, вы можете поместить свой вызов в анонимную функцию, используя лямбда-выражение:

()=> method(attr);
// Or multiple lines using
()=>{
//code 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...