
19.09.2013, 23:40
|
|
|
.
модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
|
Верно. В начале процедуры диспатча фиксируем topmost на значении длины списка, текущий -- на нуле. Если будут добавляться, topmost не изменяется, если будут удаляться, то если ниже topmost, его уменьшаем на единицу, а если и ниже текущего, то уменьшаем текущий.
Приведенный вами пример с удалением соответствует природе нативного EventDispatcher. Проведите минимальные тесты и убедитесь в этом. Например, удаление слушателя ENTER_FRAME с бОльшим индексом во время выполнения слушателя с меньшим индексом, первый при этом не должен сработать, если я правильно понял вашу мысль.
А вот о последнем вопросе я даже как-то и не задумывался. Спасибо, что подкинули такую мысль.
|