Почему Теряется событие OnClick при создании префаба?

Добрый вечер. Создаю в коде функцией Instatiate несколько кнопок (UI элементов) типа Button.
Создаются они с помощью префаба. Мне нужно на эти кнопки повесить события OnClick, чтобы выполнялся метод, созданный в скрипте.
На сцене кидаю сначала этот Button, жму плюсик, кидаю в событие OnClick панельку со скриптом, выбираю метод, который будет обрабатываться и... создаю префаб, а событие пропадает с префаба. Почему ?

Как обработать событие OnClick кнопки, которые я создал с помощью Instatiate в коде ?

Спасибо заранее за помощь.
  • Вопрос задан
  • 633 просмотра
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
Потому что в Onclick храниться ссылка на объект.
Префаб - не может содержать в себе ссылки на объекты сцены..

или скрипт/метод/объект должен быть внутри префаба. или в коде из скрипта, где инстанциируете объекты - добавляйте событие.

https://docs.unity3d.com/ScriptReference/UI.Button...
тут вот кстати пример даже есть.
в слушателя как запихнуть) можно не только метод этого класса, но и любого другого, только получите на него сначала ссылку (в вашем случае почти наверняка сгодится сделать ссылку на скрипт на панельке в генераторе кнопок )
как то так
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы