«Правильно» ли комбинировать состояния FSM?
Скажем, у вас есть объект с
enum State
{
State1 = 1 << 0,
State2 = 1 << 1,
State3 = 1 << 2
} ;
Так уж получилось, что имеет смысл комбинировать состояния, как в
State myState = State1 | State2 ;
однако в теории FSM это незаконно?
Это скорее ярлык:
Допустим, у вас есть 3 состояния: Бег, Ходьба и Прыжки. Затем у вас есть четвертое состояние Firing.
Вы должны уметь бегать и стрелять, ходить и стрелять, а также прыгать и стрелять. вместо того, чтобы делать 6 состояний RunningFiring, WalkingFiring, JumpingFiring, я хотел бы объединить состояние Firing с (любым состоянием Walking Running Jumping)
Я знаю, что мог бы просто использовать BOOL для «четвертого состояния», но не кажется ли это еще более неправильным? Наличие «государства на стороне…»