1 package cz.cuni.amis.pogamut.ut2004.hideandseek.bot;
2
3 import cz.cuni.amis.pogamut.base.communication.worldview.IWorldView;
4 import cz.cuni.amis.pogamut.base.communication.worldview.event.IWorldEventListener;
5 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ControlMessage;
6 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.HSMessagesTranslator;
7 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSAssignSeeker;
8 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSBotStateChanged;
9 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSGameEnd;
10 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSGameStart;
11 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSMessage;
12 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSPlayerScoreChanged;
13 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRoundEnd;
14 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRoundStart;
15 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRoundState;
16 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRunnerCaptured;
17 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRunnerFouled;
18 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRunnerSafe;
19 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRunnerSpotted;
20 import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages.HSRunnerSurvived;
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class HSEvents {
39
40 protected boolean enabled = false;
41
42 protected IWorldView worldView;
43
44 protected IWorldEventListener<HSAssignSeeker> hsAssignSeekerListener = new IWorldEventListener<HSAssignSeeker>() {
45
46 @Override
47 public void notify(HSAssignSeeker event) {
48 hsAssignSeeker(event);
49 }
50
51 };
52
53 protected IWorldEventListener<HSBotStateChanged> hsBotStateChangedListener = new IWorldEventListener<HSBotStateChanged>() {
54
55 @Override
56 public void notify(HSBotStateChanged event) {
57 hsBotStateChanged(event);
58 }
59
60 };
61
62 protected IWorldEventListener<HSGameEnd> hsGameEndListener = new IWorldEventListener<HSGameEnd>() {
63
64 @Override
65 public void notify(HSGameEnd event) {
66 hsGameEnd(event);
67 }
68
69 };
70
71 protected IWorldEventListener<HSGameStart> hsGameStartListener = new IWorldEventListener<HSGameStart>() {
72
73 @Override
74 public void notify(HSGameStart event) {
75 hsGameStart(event);
76 }
77
78 };
79
80 protected IWorldEventListener<HSPlayerScoreChanged> hsPlayerScoreChangedListener = new IWorldEventListener<HSPlayerScoreChanged>() {
81
82 @Override
83 public void notify(HSPlayerScoreChanged event) {
84 hsPlayerScoreChanged(event);
85 }
86
87 };
88
89
90 protected IWorldEventListener<HSRoundEnd> hsRoundEndListener = new IWorldEventListener<HSRoundEnd>() {
91
92 @Override
93 public void notify(HSRoundEnd event) {
94 hsRoundEnd(event);
95 }
96
97 };
98
99 protected IWorldEventListener<HSRoundStart> hsRoundStartListener = new IWorldEventListener<HSRoundStart>() {
100
101 @Override
102 public void notify(HSRoundStart event) {
103 hsRoundStart(event);
104 }
105
106 };
107
108 protected IWorldEventListener<HSRoundState> hsRoundStateListener = new IWorldEventListener<HSRoundState>() {
109
110 @Override
111 public void notify(HSRoundState event) {
112 hsRoundState(event);
113 }
114
115 };
116
117 protected IWorldEventListener<HSRunnerCaptured> hsRunnerCapturedListener = new IWorldEventListener<HSRunnerCaptured>() {
118
119 @Override
120 public void notify(HSRunnerCaptured event) {
121 hsRunnerCaptured(event);
122 }
123
124 };
125
126 protected IWorldEventListener<HSRunnerFouled> hsRunnerFouledListener = new IWorldEventListener<HSRunnerFouled>() {
127
128 @Override
129 public void notify(HSRunnerFouled event) {
130 hsRunnerFouled(event);
131 }
132
133 };
134
135 protected IWorldEventListener<HSRunnerSafe> hsRunnerSafeListener = new IWorldEventListener<HSRunnerSafe>() {
136
137 @Override
138 public void notify(HSRunnerSafe event) {
139 hsRunnerSafe(event);
140 }
141
142 };
143
144 protected IWorldEventListener<HSRunnerSpotted> hsRunnerSpottedListener = new IWorldEventListener<HSRunnerSpotted>() {
145
146 @Override
147 public void notify(HSRunnerSpotted event) {
148 hsRunnerSpotted(event);
149 }
150
151 };
152
153 protected IWorldEventListener<HSRunnerSurvived> hsRunnerSurvivedListener = new IWorldEventListener<HSRunnerSurvived>() {
154
155 @Override
156 public void notify(HSRunnerSurvived event) {
157 hsRunnerSurvived(event);
158 }
159
160 };
161
162 public HSEvents(IWorldView worldView) {
163 this.worldView = worldView;
164 }
165
166 public void enableHSEvents() {
167 if (enabled) return;
168 enabled = true;
169
170 worldView.addEventListener(HSAssignSeeker.class, hsAssignSeekerListener);
171 worldView.addEventListener(HSBotStateChanged.class, hsBotStateChangedListener);
172 worldView.addEventListener(HSGameStart.class, hsGameStartListener);
173 worldView.addEventListener(HSGameEnd.class, hsGameEndListener);
174 worldView.addEventListener(HSPlayerScoreChanged.class, hsPlayerScoreChangedListener);
175 worldView.addEventListener(HSRoundEnd.class, hsRoundEndListener);
176 worldView.addEventListener(HSRoundStart.class, hsRoundStartListener);
177 worldView.addEventListener(HSRoundState.class, hsRoundStateListener);
178 worldView.addEventListener(HSRunnerCaptured.class, hsRunnerCapturedListener);
179 worldView.addEventListener(HSRunnerFouled.class, hsRunnerFouledListener);
180 worldView.addEventListener(HSRunnerSafe.class, hsRunnerSafeListener);
181 worldView.addEventListener(HSRunnerSpotted.class, hsRunnerSpottedListener);
182 worldView.addEventListener(HSRunnerSurvived.class, hsRunnerSurvivedListener);
183 }
184
185 public void disableTagEvents() {
186 if (!enabled) return;
187 enabled = false;
188
189 worldView.removeEventListener(HSAssignSeeker.class, hsAssignSeekerListener);
190 worldView.removeEventListener(HSGameStart.class, hsGameStartListener);
191 worldView.removeEventListener(HSGameEnd.class, hsGameEndListener);
192 worldView.removeEventListener(HSPlayerScoreChanged.class, hsPlayerScoreChangedListener);
193 worldView.removeEventListener(HSRoundEnd.class, hsRoundEndListener);
194 worldView.removeEventListener(HSRoundStart.class, hsRoundStartListener);
195 worldView.removeEventListener(HSRoundState.class, hsRoundStateListener);
196 worldView.removeEventListener(HSRunnerCaptured.class, hsRunnerCapturedListener);
197 worldView.removeEventListener(HSRunnerFouled.class, hsRunnerFouledListener);
198 worldView.removeEventListener(HSRunnerSafe.class, hsRunnerSafeListener);
199 worldView.removeEventListener(HSRunnerSpotted.class, hsRunnerSpottedListener);
200 worldView.removeEventListener(HSRunnerSurvived.class, hsRunnerSurvivedListener);
201 }
202
203
204
205
206
207 public void hsAssignSeeker(HSAssignSeeker event) {
208 }
209
210 public void hsBotStateChanged(HSBotStateChanged event) {
211 }
212
213 public void hsGameEnd(HSGameEnd event) {
214 }
215
216 public void hsGameStart(HSGameStart event) {
217 }
218
219 public void hsPlayerScoreChanged(HSPlayerScoreChanged event) {
220 }
221
222 public void hsRoundEnd(HSRoundEnd event) {
223 }
224
225 public void hsRoundStart(HSRoundStart event) {
226 }
227
228 public void hsRoundState(HSRoundState event) {
229 }
230
231 public void hsRunnerCaptured(HSRunnerCaptured event) {
232 }
233
234 public void hsRunnerFouled(HSRunnerFouled event) {
235 }
236
237 public void hsRunnerSafe(HSRunnerSafe event) {
238 }
239
240 public void hsRunnerSpotted(HSRunnerSpotted event) {
241 }
242
243 public void hsRunnerSurvived(HSRunnerSurvived event) {
244 }
245
246
247 }