Hello all!

I’m manually implementing my state charts FROM UML TO obj-c (a CHARACTER behaviour) AND my question IS:
When does a transition change object state, before OR after execution transition code?

Here IS my sample code that executes transition code before changing object state (it’s aMoleHid) but I’m NOT sure this IS correct:


-(void) changeState:(BurrowState)state {

[self onExitState:m_state];

if (m_state==BURROW_STARTING && state==BURROW_EMPTY) {

} ELSE if (m_state==BURROW_EMPTY && state==BURROW_MOLE_APPEARING) {

} ELSE if (m_state==BURROW_MOLE_APPEARING && state==BURROW_EMPTY) {
[m_naughtyMolesScene aMoleHid];

} ELSE if (m_state==BURROW_MOLE_APPEARING && state==BURROW_MOLE_APPEARING) {

} ELSE if (m_state==BURROW_MOLE_APPEARING && state==BURROW_FILLING_IN_WITH_ROCKS) {

} ELSE if (m_state==BURROW_FILLING_IN_WITH_ROCKS && state==BURROW_FILLED_IN_WITH_ROCKS) {

} ELSE {
NSLog(@"Unknown transition.");
exit(1);
}
m_state=state;
[self onEnterState:state];
}

Thanks a lot;

Pin It on Pinterest

Share This