int main(int argv, char **args) { QApplication app(argv, args); //![2] QStateMachine machine; QState *s1 = new QState(); QState *s2 = new QState(); QFinalState *done = new QFinalState(); StringTransition *t1 = new StringTransition("Hello"); t1->setTargetState(s2); s1->addTransition(t1); StringTransition *t2 = new StringTransition("world"); t2->setTargetState(done); s2->addTransition(t2); machine.addState(s1); machine.addState(s2); machine.addState(done); machine.setInitialState(s1); //![2] //![3] machine.postEvent(new StringEvent("Hello")); machine.postEvent(new StringEvent("world")); //![3] return app.exec(); }
void CleanMemoryState::cleanMemory(){ gameMemory->clear(); QStateMachine *machine = this->machine(); machine->postEvent(new CleanMemoryEvent()); }