Префабы пользовательского интерфейса: кнопки не сохраняют настройки onclick()

У меня есть простой сборный домик, сделанный из готовой кнопки и панели. Кнопка расположена внутри панели, поэтому она является дочерней по отношению к панели. Я сохранил префаб, и все хорошо.

Затем я добавил событие нажатия кнопки; поэтому я добавил игровой объект, в котором находится сценарий, который я хочу использовать, и выбрал правильный метод для использования. Я обновил префаб и удалил его со сцены.

Теперь, когда я создаю этот префаб в сцене с помощью Resources.Load("myUIprefab"); он правильно показывает панель, кнопку и цвета / настройки.

Но ничего не связано с самой кнопкой нажатия; в результате чего кнопка ничего не делает.

Разве это не сборный, способ сохранить объект для последующего использования? В этом случае он должен сохранить настройки щелчка. Это ошибка или неудачная реализация новой системы Unity UI? Не имеет смысла делать сборные из кнопки или другого элемента графического интерфейса, если тогда click() или другой делегат не заполнены.

2 ответа

Решение

GameObjects, которые хранятся в префабе, могут содержать ссылки только на другие объекты в этом же префабе или на другие префабы. Это верно для ссылок на объекты, событий, чего угодно.

Если вы хотите, чтобы событие сохранялось, вы должны иметь обработчик событий в том же префабе и вызывать его с помощью вашей кнопки. Это может быть простой метод-обработчик, который вызывает стандартное событие.Net при вызове (события.Net могут быть проще в использовании, чем события Unity).

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

В случае, если вы хотите вызвать метод, определенный в скрипте, прикрепленном к неродственному игровому объекту (например, GameManager), вы должны сделать этот другой игровой объект префабом и назначить метод onclick этому префабу.

Другие вопросы по тегам