Builder is now using the FSM I wrote. Still not as clean as I like but big improvement.

This commit is contained in:
Zed A. Shaw 2024-09-10 01:56:22 -04:00
parent dcf1a4020d
commit a7c5de6ac3
4 changed files with 176 additions and 129 deletions

View file

@ -14,24 +14,24 @@ enum MyEvent {
class MyFSM : DeadSimpleFSM<MyState, MyEvent> {
public:
void event(MyEvent ev) override {
switch(ev) {
FSM_T(STARTED, start);
FSM_T(PUSH, push);
FSM_T(QUIT, quit);
switch(_state) {
FSM_STATE(START, start, ev);
FSM_STATE(RUNNING, push, ev);
FSM_STATE(END, quit, ev);
}
}
void start() {
void start(MyEvent ev) {
println("<<< START");
state(RUNNING);
}
void push() {
void push(MyEvent ev) {
println("<<< RUN");
state(RUNNING);
}
void quit() {
void quit(MyEvent ev) {
println("<<< STOP");
state(END);
}