Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ловить события по ссылке "через голову" (http://www.flasher.ru/forum/showthread.php?t=215607)

Appleman 09.06.2018 17:01

Ловить события по ссылке "через голову"
 
Друзья!

Такая штука. Есть менеджер экипировки, у него в слоте есть предмет, у предмета есть менеджер статусов (доступен по геттеру statuses). Менеджер статусов умеет отправлять события об изменении статус-эффектов своего "хозяина". В методе экипировки предмета пытаюсь повесить вот такой слушатель:

Код AS3:

item.statuses.addEventListener(ModelEventTypes.STATUS_UPDATE, statusUpdateRedispatcher);

Пока ни одного события я не поймал. Скажите, это оттого что слушать статус-эффекты пытаюсь "через голову" item-а? Вообще, возможна ли такая запись? Спасибо.

undefined 09.06.2018 19:09

вполне возможна,проверяй уходит ли событие из statuses

Appleman 10.06.2018 01:08

Всё, поймал. :) Правда, в таком варианте в target болтается сам статус-менеджер, а не его "хозяин", что логично.

undefined 10.06.2018 03:08

К чему эти костыли с отдельным диспетчером? По чему бы итему не отнаследоваться от EventDispatcher и не слать все самому?

Wolsh 10.06.2018 09:06

Цитата:

Правда, в таком варианте в target болтается сам статус-менеджер, а не его "хозяин", что логично.
EventDispatcher () Constructor
public function EventDispatcher(target:IEventDispatcher = null)

target:IEventDispatcher (default = null) — The target object for events dispatched to the EventDispatcher object. This parameter is used when the EventDispatcher instance is aggregated by a class that implements IEventDispatcher; it is necessary so that the containing object can be the target for events. Do not use this parameter in simple cases in which a class extends EventDispatcher.

Appleman 11.06.2018 15:50

Цитата:

Сообщение от undefined (Сообщение 1205543)
К чему эти костыли с отдельным диспетчером? По чему бы итему не отнаследоваться от EventDispatcher и не слать все самому?

Ну да, наверное правильнее всё-таки будет не лениться и редиспатчить событие от самого предмета.

Добавлено через 1 минуту
Цитата:

Сообщение от Wolsh (Сообщение 1205544)
EventDispatcher () Constructor
public function EventDispatcher(target:IEventDispatcher = null)

О, круто, буду иметь в виду. Правда в моём случае ничего не выйдет, т.к. статус-менеджер прикручен к Item-у по принципу композиции и соответственно ни хрена о нём не "знает" :)


Часовой пояс GMT +4, время: 04:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.