Предыдущие версии
| Название | Размер | Обновлено | Версия игры | Загрузок | |
| 1.0.10 release | 2.86 KB | Jul 4, 2021 | 9.1.0 | 0 | Скачать |
| 1.0.9 release | 2.98 KB | Oct 1, 2019 | 8.2.5 +1 | 237 | Скачать |
| 1.0.8 release | 2.87 KB | Nov 18, 2016 | 7.1.0 | 442 | Скачать |
| 1.0.7 release | 2.92 KB | Feb 25, 2015 | 6.1.0 | 483 | Скачать |
| 1.0.6 release | 2.93 KB | Nov 3, 2014 | 6.0.3 | 328 | Скачать |
| 1.0.5 release | 2.90 KB | Oct 15, 2014 | 6.0.2 | 113 | Скачать |
| 1.0.4 release | 2.92 KB | Jan 6, 2014 | 5.4.2 | 290 | Скачать |
| 1.0.3 release | 2.90 KB | Sep 13, 2013 | 5.4.0 | 135 | Скачать |
| 1.0.2 release | 2.90 KB | May 22, 2013 | 5.3.0 | 134 | Скачать |
| 1.0.1 release | 2.88 KB | Apr 20, 2013 | 5.2.0 | 114 | Скачать |
Описание
LibPubSub-1.0
Простая встраиваемая реализация публикации-подписки.
В том числе функциональные возможности LibPubSub
Самый простой способ использования LibPubSub-это миксин, например:
MyAddon = LibStub ('AceAddon-3.0'): NewAddon('MyAddon', 'LibPubSub-1.0')
Если вы не используете AceAddon, вы все равно можете встроить LibPubSub в
объект/таблицу с помощью функции Embed () LibPubSub:
LibStub ('LibPubSub-1.0'): Embed(MyObject)
Если вы не хотите встраивать методы LibPubSub в свои объекты, вы можете
получить отдельный объект LibPubSub:
локальный наблюдатель = LibStub ('LibPubSub-3.0'): новый()
В следующих примерах, пожалуйста, замените Observer на правильный
объект.
ИНТЕРФЕЙС ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ
Наблюдатель: опубликовать (сообщение, …)
Это вызывает всех слушателей, подписавшихся на это сообщение, и передает
аргументы, приведенные после сообщения. Несколько объектов или функций могут быть
подписаны на одно и то же сообщение.
Параметры
-
сообщение (строка)
- Сообщение для публикации
-
… (смешанный)
- Любые аргументы для передачи слушателям
Наблюдатель: подписка(сообщение [, объект] [, функция])
Существует несколько способов подписаться на сообщения, и несколько слушателей
могут быть прикреплены к одному и тому же сообщению:
Наблюдатель:подписаться('NAME_OF_MESSAGE') -- звонки наблюдателей:NAME_OF_MESSAGE()
Наблюдатель: Subscribe ('NAME_OF_MESSAGE', funcref) -- вызывает funcref()
Наблюдатель:подписаться('NAME_OF_MESSAGE', 'Имя_функции') -- звонки наблюдателей:Имя_функции()
Наблюдатель:подписаться('NAME_OF_MESSAGE', объект) ... называет объект:NAME_OF_MESSAGE()
Наблюдатель:подписаться('NAME_OF_MESSAGE', объект 'Имя_функции') -- призывает предмет:Имя_функции()
Вторая, третья и четвертая версии прикрепления прослушивателей также могут быть
переданы в виде таблицы, как стенография для прикрепления прослушивателей для нескольких
сообщений:
Наблюдатель: подписка ({NAME_OF_MESSAGE = funcref, OTHER_MESSAGE = 'FunctionName'})
Аргументы, передаваемые слушателю, являются аргументами, передаваемыми функции
публикации после имени сообщения.
Параметры
-
сообщение (строка)
- Сообщение для подписки
-
объект (таблица)
- Объект, на который должна быть вызвана функция
-
функция (string/funcref)
- Функция для вызова
Наблюдатель: отписаться(сообщение [, объект] [, функция])
Это работает точно так же, как подписка на сообщение. Обратите внимание, что вам
нужно передать те же аргументы для отмены подписки, что и для
подписки на удаление прослушивателя сообщения. Это означает, что, если вы
подписался с использованием наблюдателя:подписаться('NAME_OF_MESSAGE', funcref)вы
нужно отписаться через наблюдателя:отписаться('NAME_OF_MESSAGE',.
funcref)
Возможные способы вызова этой функции:
Наблюдатель: отписаться ('NAME_OF_MESSAGE')
Наблюдатель: отписаться ('NAME_OF_MESSAGE', funcref)
Наблюдатель: отписаться ('NAME_OF_MESSAGE', 'FunctionName')
Наблюдатель: отписаться ('NAME_OF_MESSAGE', объект)
Наблюдатель:отписаться('NAME_OF_MESSAGE', объект 'Имя_функции')
Наблюдатель: отписаться({NAME_OF_MESSAGE = funcref, OTHER_MESSAGE = 'FunctionName'})
Параметры
-
сообщение (строка)
- Сообщение для отказа от подписки
-
объект (таблица)
- Объект, на котором будет вызываться функция
-
функция (string/funcref)
- Подписанная функция
Наблюдатель: UnsubscribeAll()
Немедленно удаляет все подписанные в данный момент слушатели.
Параметры
Никто.
Получить 0.05 TON 💎
Скачать
Добавить комментарий