Показать сообщение отдельно
Старый 23.12.2017, 16:38
0l3 вне форума Посмотреть профиль Отправить личное сообщение для 0l3 Найти все сообщения от 0l3
  № 1  
Ответить с цитированием
0l3
 
Аватар для 0l3

Регистрация: Oct 2015
Сообщений: 32
По умолчанию Централизованная обработка событий

Приветствую. Возник вопрос по централизованной обработке кастомных событий.

Свои события собираю в статику:
AppEvents.APP_EVENT_1 = "1"
AppEvents.APP_EVENT_2 = "2"

Структура программы типа "Звезда" - все события обрабатываются Контроллером:
Код:
         СубКласс6    СубКласс5
		       \  /
CубКласс1	-- Controller -- СубКласс4
		       /  \
	СубКласс2	  СубКласс3
Для приема-передачи событий используется глобальный диспатчер (GlobalDispatcher). Субклассы используют его статический метод для отправки, Контроллер использует его для приема событий.

Вопрос: как в Контроллере не цеплять персональный слушатель для каждого app-события, а слушать любое из доступных в AppEvents-классе.
Код AS3:
//Соntroller
GlobalDispatcher.addEventListener(AppEvents.*, appEventManager);
..
..
private function appEventManager(e:AppEvents):void
	{
		swith(e):
		case "1": doSome1(); break;
		case "2": doSome2(); break;
		..
	}
Выражение ругается
Код AS3:
AppEvents.*


Последний раз редактировалось 0l3; 23.12.2017 в 16:52.