Button On Click()

Общие вопросы о Unity3D

Button On Click()

Сообщение Andry62324 11 сен 2019, 14:22

День добрый!

Подскажите можно из скрипта отключить события которые добавлены на On Click(), если можно то как?
Andry62324
UNец
 
Сообщения: 43
Зарегистрирован: 18 фев 2019, 21:04

Re: Button On Click()

Сообщение Jarico 11 сен 2019, 16:15

добавляет слушателя (метод или лямбда делегат)
https://docs.unity3d.com/ru/current/ScriptReference/Events.UnityEvent.AddListener.html
удаляет слушателя (метод или лямбда делегат)
https://docs.unity3d.com/ru/current/ScriptReference/Events.UnityEvent.RemoveListener.html

пример обработки нажатия с лямбда делегатом
Синтаксис:
Используется csharp
public Button m_Button;

private void Awake()
{
m_Button.onClick.AddListener(
delegate
{
print("m_Button -> Clicked!!");
});
}
 
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Button On Click()

Сообщение Woland 12 сен 2019, 11:28

Если я не ошибаюсь, то есть один нюанс (как в анекдоте): если изначально в редакторе события уже добавлены на кнопку, то добавление/удаление событий из скрипта не работает. То есть чтоб скрипт работал, нужна пустая кнопка без событий.

Но это не точно, надо проверять.
Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Button On Click()

Сообщение Tolking 12 сен 2019, 12:12

Удаление не работает - это точно. Уже проверено... Добавление и удаление добавленного программно работает...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Button On Click()

Сообщение Woland 12 сен 2019, 15:14

Да, приходится все делать через код. Если нужны какие-то события по умолчанию, но приходится в старте прописывать добавление этих событий.
Woland
Адепт
 
Сообщения: 1240
Зарегистрирован: 20 апр 2013, 18:09
  • Сайт

Re: Button On Click()

Сообщение Woolf 12 сен 2019, 15:16

Woland писал(а):Если я не ошибаюсь, то есть один нюанс (как в анекдоте): если изначально в редакторе события уже добавлены на кнопку, то добавление/удаление событий из скрипта не работает. То есть чтоб скрипт работал, нужна пустая кнопка без событий.

Но это не точно, надо проверять.


Вы уверены?
Синтаксис:
Используется csharp
btn.onClick.RemoveAllListeners();
btn.onClick.AddListener(() => btnSelectBag(i));

у меня работает.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Button On Click()

Сообщение Andry62324 15 сен 2019, 16:16

Благодарю. Попробую.
Andry62324
UNец
 
Сообщения: 43
Зарегистрирован: 18 фев 2019, 21:04


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


cron