Предыдущие версии
Название | Размер | Обновлено | Версия игры | Загрузок | |
1.0.9 release | 4.50 KB | Dec 12, 2022 | 10.0.2 | 11,243 | Скачать |
1.0.8 release | 4.49 KB | Jul 21, 2018 | 8.0.1 | 148,752 | Скачать |
1.0.6.70000 release | 4.84 KB | Jul 19, 2016 | 7.0.3 | 133,383 | Скачать |
1.0.6.60000 release | 4.97 KB | Oct 16, 2014 | 6.0.2 | 93,227 | Скачать |
r18 release | 4.83 KB | Oct 16, 2014 | 6.0.2 | 468 | Скачать |
1.0.6 release | 5.04 KB | Aug 9, 2010 | 3.3.5 | 163,004 | Скачать |
1.0.5 release | 5.06 KB | Sep 17, 2009 | 3.2.0 | 5,563 | Скачать |
1.0.3.30100 release | 5.14 KB | May 9, 2009 | 3.1.0 | 10,528 | Скачать |
1.0.3 release | 4.87 KB | Sep 29, 2008 | 3.0.2 | 4,843 | Скачать |
r27-alpha alpha | 4.50 KB | Dec 12, 2022 | 10.0.2 | 49 | Скачать |
r26-alpha alpha | 4.47 KB | Dec 12, 2022 | 8.0.1 | 11 | Скачать |
r25-alpha alpha | 4.07 KB | Dec 12, 2022 | 8.0.1 | 7 | Скачать |
r23-alpha alpha | 4.49 KB | Jul 21, 2018 | 8.0.1 | 346 | Скачать |
r22-alpha alpha | 4.15 KB | Jul 21, 2018 | 7.0.3 | 207 | Скачать |
r20 alpha | 4.78 KB | Jul 19, 2016 | 7.0.3 | 411 | Скачать |
r16 alpha | 4.87 KB | Jan 14, 2011 | 4.0.3a | 629 | Скачать |
r14 alpha | 5.00 KB | Aug 9, 2010 | 3.3.5 | 403 | Скачать |
r13 alpha | 4.95 KB | Dec 6, 2009 | 3.2.0 | 755 | Скачать |
r12 alpha | 4.79 KB | Nov 2, 2009 | 3.2.0 | 340 | Скачать |
r10 alpha | 5.03 KB | Sep 17, 2009 | 3.2.0 | 216 | Скачать |
r9 alpha | 5.25 KB | Sep 17, 2009 | 3.2.0 | 234 | Скачать |
r8 alpha | 5.23 KB | Sep 16, 2009 | 3.2.0 | 269 | Скачать |
r7 alpha | 5.19 KB | Sep 16, 2009 | 3.1.0 | 289 | Скачать |
r5 alpha | 5.08 KB | May 9, 2009 | 3.1.0 | 232 | Скачать |
r3 alpha | 4.83 KB | Sep 29, 2008 | 2.4.3 | 662 | Скачать |
Описание
CallbackHandler — это внутренняя служебная библиотека, которая позволяет библиотеке легко отправлять свои события заинтересованным сторонам. Это устраняет необходимость в том, чтобы аддоны были осведомлены, например, об AceEvent.
Единственное оставшееся использование для сообщений AceEvent — это сообщения, которые не имеют фиксированного источника-те, которые могут запускать несколько библиотек или аддонов.
Включение CallbackHandler-1.0 в ваш проект
Вы-библиотека?
при использовании репозиториев WoWAce
- настройка внешнего указывая в
свойстве svn://svn-репозитория.wowace.ком/ого/, чтобы callbackhandler/магистральных/магистральных/чтобы callbackhandler-1.0
в .файл pkgmeta - отключите создание nolib, добавив
enable-nolib-creation: no
в файл .pkgmeta - настройте файл <library>.toc для загрузки CallbackHandler-1.0.xml (в случае, если вы поддерживаете автономную загрузку lib)
- не загружать, чтобы callbackhandler-1.0 по .мент XML-файл для встраиваемых загрузку Либ
- не устанавливайте CallbackHandler-1.0 как X-embeded или OptDep
иначе
- получить копию текущей версии
- копию, чтобы callbackhandler-1.0.Lua в папке библиотеки
- настройте файл <library>. toc для загрузки CallbackHandler-1.0. lua (в случае, если вы поддерживаете автономную загрузку lib)
- не загружайте CallbackHandler-1.0 через xml-файл, предназначенный для встроенной загрузки вашей библиотеки
- не устанавливайте CallbackHandler-1.0 как X-embeded или OptDep
Ты что, аддон?
при использовании репозиториев WoWAce
- настройка внешнего указывая в
свойстве svn://svn-репозитория.wowace.ком/ого/, чтобы callbackhandler/магистральных/магистральных/чтобы callbackhandler-1.0
в.pkgmeta
файл - настройте свой <addon>. toc или embeds.xml файл для загрузки CallbackHandler-1.0.xml
- не устанавливайте CallbackHandler-1.0 как X-embeded или OptDep
иначе
- получить копию текущей версии
- скопируйте CallbackHandler-1.0. lua в папку вашего аддона или его подпапку
- настройте свой <addon>. toc или embeds.xml файл для загрузки CallbackHandler-1.0. lua
- не устанавливайте CallbackHandler-1.0 как X-embeded или OptDep
Смешивание функций CallbackHandler в вашей библиотеке или аддоне
Библиотеки MyLib.обратные вызовы = библиотеки MyLib.обратные вызовы или
LibStub("Чтобы Callbackhandler-1.0"):Новые(Библиотеки MyLib)
Это добавляет 3 метода в вашу библиотеку:
- Библиотеки MyLib.RegisterCallback(самообслуживание, «имя_события»[, способ, [арг]])
- Библиотеки MyLib.UnregisterCallback(самообслуживание, «имя_события»)
- Библиотеки MyLib.UnregisterAllCallbacks(самовыдвижение)
Убедитесь, что переданное в self
является вашим аддоном, а не самой библиотекой, поэтому синтаксис двойного двоеточия не будет работать.
Объект MyLib.callbacks-это
сам реестр обратных вызовов, который вам нужно отслеживать во всех внутриигровых обновлениях вашей собственной библиотеки. (Вы же следите за тем, чтобы ваша библиотека обновлялась изящно, не так ли? 😉 )
События стрельбы
Предполагая, что ваш реестр обратных вызовов является «MyLib. callbacks», запуск именованных событий так же прост, как:
Библиотеки MyLib.обратные вызовы:огонь("Имя_события", аргумент1, аргумент2, ...)
Все аргументы, переданные в функцию: Fire ()
, передаются функциям, прослушивающим событие.
Расширенное использование
Переименование методов
Вы можете указать свои собственные имена для методов, установленных CallbackHandler:
Библиотеки MyLib.обратные вызовы= библиотеки MyLib.обратные вызовы или
LibStub("Чтобы Callbackhandler-1.0"):Новые(Библиотеки MyLib,
"MyRegisterFunc",
"MyUnregisterFunc",
"MyUnregisterAllFunc" или false
)
Предоставление false в качестве имени для «UnregisterAll» означает, что вы вообще не хотите предоставлять пользователям доступ к этому API — он не будет установлен.
Отслеживание используемых событий
В некоторых случаях имеет смысл знать, какие события запрашиваются вашими пользователями. Возможно, чтобы включить / отключить код, необходимый для их отслеживания.
CallbackHandler всегда будет вызывать обратные вызовы: OnUsed () и: OnUnused (), когда событие начинает / прекращает использоваться:
функции библиотеки MyLib.обратные вызовы:OnUsed(цель, имя_события)
-- "цель" - это == MyLib здесь
print ("кто-то только что зарегистрировался на "..eventname.."!")
конец
функции библиотеки MyLib.обратные вызовы:OnUnused(цель, имя_события)
печати("никто не хочет "..имя_события.." больше")
конец
«OnUsed» вызывается только в том случае, если событие ранее не использовалось. «OnUnused» вызывается только тогда, когда последний пользователь отменяет регистрацию из события. Другими словами, вы не увидите «OnUnused», если только» OnUsed » не был вызван для события. И вы никогда не увидите два «OnUsed» подряд без «OnUnused» между ними для события.
Несколько реестров событий
Как вы можете знать, а можете и не знать, CallbackHandler-это рабочая лошадка AceEvent-3.0. Он используется дважды в AceEvent: один раз для внутриигровых событий, которые не могут быть запущены пользователями, и один раз для «сообщений», которые могут быть запущены пользователями.
Предоставление нескольких реестров в AceEvent было так же просто, как:
AceEvent.события = AceEvent.событий или
LibStub("Чтобы Callbackhandler-1.0"):Новые(AceEvent,
"RegisterEvent", "UnregisterEvent", "UnregisterAllEvents"
)
AceEvent. messages = AceEvent. messages или
LibStub ("CallbackHandler-1.0"): New (AceEvent,
"RegisterMessage", "UnregisterMessage", " UnregisterAllMessages"
)
AceEvent.Метод SendMessage = AceEvent.сообщения.Огонь
Конечно, в AceEvent также есть некоторый код для фактического управления внутриигровыми событиями (используя OnUsed и OnUnused), но это действительно его ядро.
Извиняюсь
Если приведенные выше примеры кода выглядят испорченными, то это потому, что AddonsWoW все еще использует стиль CSS «white-space:normal;», когда они должны использовать «white-space: pre-wrap;» для своих HTML-тегов <pre>. / Микк, ноябрь 2019 года
Добавить комментарий