Как восстановить цепочку диспетчеризации событий?
У меня такая ситуация: Сцена, на ней по орбитам движутся планеты. По клику на каждой планете рядом с ней создается контейнер с кнопками - возможные действия на этой планете. Контейнер следует за планетой. Чтобы контейнер с кнопками был всегда сверху и не перекрывался другими планетами, он чайлдится не к своей планете а к сцене на верхний уровень. Соответственно, когда происходит клик по кнопке, цепочка диспетчеризации оказывается "разорвана" т.е. событие клика в фазе захвата/всплытия отрабатывается: сцена - контейнер - кнопка - контейнер - сцена. Планета оказывается выкинутой из цепочки. А мне бы хотелось иметь ее на фазе захвата, чтобы помечать ее как текущую и легко получать ее id, а не через навороченную цепочку parent.leader.parent... (leader это указатель на планету, чтобы иметь возможность перемещать кнопки следом за ней). На ум приходит слушать событие в контейнере и диспатчить его планете, но тогда планета получит событие в фазе TARGET, а мне это не нужно, мне нужно отработать клик на ней в фазе захвата. Можно что-то придумать в данной ситуации или к планете можно добраться только через прямую цепочку указателей?
|