Добрый день. Проблема в следующем:
Есть у меня класс обработки нажатий клавиш, который занимается тем, что выкидывает события нажатия каких-то определенных клавиш. То есть сам он отслеживает просто факт нажатия и отпускания, а диспатчит отдельные события по кнопкам (например событие StateChangeEvent.JUMP). Все эти события изначально должен был отслеживать класс, определяющий перемещения в зависимости от найденных столкновений.
Все было хорошо, пока не поменялось ТЗ и не пришлость делать факт нажатия клавиши "Выстрел" совершенно отдельно от перемещения.
Мое упрощенное решение - отслеживать нажатия клавиши "выстрел" в объекте игрока, а не в классе проверки столкновений. И, собственно, сама проблема - объект проверки нажатия клавиш по иерархии никак не связан с объектом игрока. Иерархия схематически следующая:
Объект проверки столкновений еще меняет значение "состояние" игрока, и эта схема работала хорошо пока ТЗ не поменялось. Раньше на 3 состояния выстрела (стоя, во время ходьбы, в прыжке) отводилось три разных состояния. Сейчас состояние выстрела совершенно не зависит от того, в каком положении находится игрок.
-----------
Кто подскажет, есть ли способ передать событие вьюшке персонажа? А если нет, то может какое-то другое "архитектурное" решение есть?
Заранее спасибо