В основном у меня есть конечный автомат, который управляет атаками персонажей, с таймингами, основанными на длине анимации.
Итак, например:
Я начинаю с состояния по умолчанию, и если игрок нажимает кнопку атаки, он начинает атаку, переключая состояние и устанавливая таймер на основе длины атаки. Государственная машина становится более сложной, но когда я рассматриваю перезарядные атаки, которые могут быть отменены, атаки, которые могут перемещаться в разные состояния в зависимости от того, что они попали, а также каждое государство имеет уникальные способы борьбы с атакуемым персонажем. На данный момент у меня есть большие операторы переключения. Я думал о полиморфизме, но для этого потребуется новый класс для каждого состояния, для которого существует много (например, атака, атака и финишная атака требуют отдельных состояний).
Оператор switch работает, но его довольно большой и также не так легко модифицируется, как система наследования.
Любые предложения по реалистичным реализациям?
EDIT: Это использует java.