Всех приветствую. Нужен совет. Пишу систему для управления персонажем с использованием State паттерна. Примерно так есть:
- класс Player только с данными
- класс PlayerController, который будет "руководить" какой стейт текущий и т.д.
- интерфейс IPlayerState
- класс для каждого стейта наследующий интерфейс IPlayerState и содержащий реализацию конкретного стейта
- класс PlayerActionsGrabber, который отлавливает действия игрока(движения джойстика, нажатие кнопки и т.д.) и инвоукает соответствующие методы у observer'ов.
Так вот. Сейчас PlayerActionsGrabber инвоукает только если джойстик двигается, стейт игрока сменяется на MoveState, но не возвращается в IdleState, когда джойстик перестают двигать. Как можно это исправить?