View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.translator.bot.state;
2   
3   import cz.cuni.amis.fsm.FSMState;
4   import cz.cuni.amis.fsm.FSMTransition;
5   import cz.cuni.amis.fsm.IFSMState;
6   import cz.cuni.amis.pogamut.base.communication.messages.InfoMessage;
7   import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldChangeEvent;
8   import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Spawn;
9   import cz.cuni.amis.pogamut.ut2004.communication.translator.TranslatorContext;
10  import cz.cuni.amis.pogamut.ut2004.communication.translator.bot.support.AbstractBotFSMState;
11  import cz.cuni.amis.pogamut.ut2004.communication.translator.shared.events.BotFirstSpawned;
12  
13  /**
14   * FSM switches into this state when PlayerList is transmitted during the handshake. It sends InitCommandRequest event
15   * and waits for Spawn message and then it sends BotFirstSpawned event. 
16   * @author Jimmy
17   */
18  @FSMState(map = { 
19  					@FSMTransition(
20  							state = BotAliveState.class, 
21  							symbol = { Spawn.class }, 
22  							transition = {}
23  					)
24  				}
25  )
26  public class FirstSpawnExpectedState extends AbstractBotFSMState<InfoMessage, TranslatorContext> {
27      
28  	@Override
29  	public void init(TranslatorContext context) {
30  	}
31  
32  	@Override
33  	public void restart(TranslatorContext context) {
34  	}
35  
36  	@Override
37  	public void stateEntering(TranslatorContext context,
38  			IFSMState<InfoMessage, TranslatorContext> fromState,
39  			InfoMessage symbol) {
40  	}
41  
42  	@Override
43  	public void stateLeaving(TranslatorContext context,
44  			IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {		
45  		context.getEventQueue().pushEvent(new BotFirstSpawned());
46  		context.getEventQueue().pushEvent((Spawn)symbol);
47  	}
48  
49  	@Override
50  	public void stateSymbol(TranslatorContext context, InfoMessage symbol) {
51  		context.getEventQueue().pushEvent((IWorldChangeEvent)symbol);		
52  	}
53  
54  }