public function finite_state( data:Object ):void{
var stateName:String = data.stateName;
if( stateName == null )return;
switch( stateName ){
case "A":
if( 1 ){
B( {'stateName':"B"})
}else{
C({'stateName':"C"})
}
break;
case "B":
if( 1 ){
C( {'stateName':"C"} )
}else{
D( {'stateName':"D"} )
}
break;
case "C":
if( 1 ){
D( {'stateName':"D"} )
}else{
H( {'stateName':"H"} )
}
break;
case "D":
if( 1 ){
H( {'stateName':"H"} )
}else{
A( {'stateName':"A"} )
}
break;
case "H":
if( 1 ){
A( {'stateName':"A"} )
}else{
B( {'stateName':"B"} )
}
break;
}
}
public function A( data :Object ):void{
var name:String = data.stateName;
finite_state( data );
}
public function B( data :Object ):void{
var name:String = data.stateName;
finite_state( data );
}
public function C( data :Object ):void{
var name:String = data.stateName;
finite_state( data );
}
public function D( data :Object ):void{
var name:String = data.stateName;
finite_state( data );
}
public function H( data :Object ):void{
var name:String = data.stateName;
finite_state( data );
}