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.ut2004.communication.messages.gbinfomessages.GameInfo;
8 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.HandShakeEnd;
9 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ItemCategoryStart;
10 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ItemListStart;
11 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.MoverListStart;
12 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.MutatorListStart;
13 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointListStart;
14 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.PlayerListStart;
15 import cz.cuni.amis.pogamut.ut2004.communication.translator.TranslatorContext;
16 import cz.cuni.amis.pogamut.ut2004.communication.translator.bot.support.AbstractBotFSMState;
17 import cz.cuni.amis.pogamut.ut2004.communication.translator.bot.transition.HandshakeEndTransition;
18 import cz.cuni.amis.pogamut.ut2004.communication.translator.shared.events.MapPointListObtained;
19 import cz.cuni.amis.pogamut.ut2004.communication.translator.shared.transition.InitRequestedTransition;
20
21
22
23
24
25
26
27
28 @FSMState(
29 map={
30 @FSMTransition(
31 state=ItemCategoryState.class,
32 symbol={ItemCategoryStart.class},
33 transition={}
34 ),
35 @FSMTransition(
36 state=MutatorListState.class,
37 symbol={MutatorListStart.class},
38 transition={}
39 ),
40 @FSMTransition(
41 state=MoverListState.class,
42 symbol={MoverListStart.class},
43 transition={}
44 ),
45 @FSMTransition(
46 state = NavPointListState.class,
47 symbol = { NavPointListStart.class },
48 transition = {}
49 ),
50 @FSMTransition(
51 state = ItemListState.class,
52 symbol = { ItemListStart.class },
53 transition = {}
54 ),
55 @FSMTransition(
56 state = PlayerListState.class,
57 symbol = { PlayerListStart.class },
58 transition = {}
59 ),
60 @FSMTransition(
61 state = ConfigureMessageExpectedState.class,
62 symbol = { HandShakeEnd.class },
63 transition = {HandshakeEndTransition.class, InitRequestedTransition.class}
64 )
65 }
66 )
67 public class HandshakeControllerState extends AbstractBotFSMState<InfoMessage, TranslatorContext>{
68
69 @Override
70 public void init(TranslatorContext context) {
71 }
72
73 @Override
74 public void restart(TranslatorContext context) {
75 }
76
77 @Override
78 public void stateEntering(TranslatorContext context,
79 IFSMState<InfoMessage, TranslatorContext> fromState,
80 InfoMessage symbol) {
81 }
82
83 @Override
84 public void stateLeaving(TranslatorContext context,
85 IFSMState<InfoMessage, TranslatorContext> toState, InfoMessage symbol) {
86 }
87
88 @Override
89 public void stateSymbol(TranslatorContext context, InfoMessage symbol) {
90 if (symbol instanceof GameInfo) {
91 context.getEventQueue().pushEvent((GameInfo)symbol);
92 return;
93 }
94 }
95
96 }