1
2 /**
3 IMPORTANT !!!
4
5 DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbcommands BY
6 THE JavaClassesGenerator.xslt. MODIFY THAT FILE INSTEAD OF THIS ONE.
7
8 Use Ant task process-gb-messages after that to generate .java files again.
9
10 IMPORTANT END !!!
11 */
12 package cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands;import java.util.*;import javax.vecmath.*;import cz.cuni.amis.pogamut.base.communication.messages.*;import cz.cuni.amis.pogamut.base.communication.worldview.*;import cz.cuni.amis.pogamut.base.communication.worldview.event.*;import cz.cuni.amis.pogamut.base.communication.worldview.object.*;import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;import cz.cuni.amis.pogamut.base.communication.translator.event.*;import cz.cuni.amis.pogamut.multi.communication.translator.event.*;import cz.cuni.amis.pogamut.base3d.worldview.object.*;import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.*;import cz.cuni.amis.pogamut.ut2004.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;import cz.cuni.amis.utils.exception.*;import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;import cz.cuni.amis.utils.SafeEquals;import cz.cuni.amis.pogamut.base.agent.*;import cz.cuni.amis.pogamut.multi.agent.*;import cz.cuni.amis.pogamut.multi.communication.worldview.property.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.property.*;import cz.cuni.amis.utils.token.*;import cz.cuni.amis.utils.*;
13 /**
14 * Representation of the GameBots2004 command MOVE.
15 *
16 *
17 The bot will start moving towards FirstLocation. After reaching it will continue
18 to SecondLocation (no delay). If no SecondLocation specified, the movement will end at
19 FirstLocation point.
20 You can specify some location or object you will be facing during the movement (if none specified,
21 the bot will start looking towards its destination point). Object is specified by UnrealId.
22 Player Ids will work, all NavPoints Ids and Movers. Respawned items should work too, but not all of
23 the items have unique Id, thus item Ids are not recommended.
24
25 */
26 public class Move
27 extends CommandMessage
28 {
29
30
31 /** Example how the message looks like - used during parser tests. */
32 public static final String PROTOTYPE =
33 " {FirstLocation 0,0,0} {SecondLocation 0,0,0} {FocusTarget unreal_id} {FocusLocation 0,0,0} ";
34
35 /**
36 * Creates new instance of command Move.
37 *
38 The bot will start moving towards FirstLocation. After reaching it will continue
39 to SecondLocation (no delay). If no SecondLocation specified, the movement will end at
40 FirstLocation point.
41 You can specify some location or object you will be facing during the movement (if none specified,
42 the bot will start looking towards its destination point). Object is specified by UnrealId.
43 Player Ids will work, all NavPoints Ids and Movers. Respawned items should work too, but not all of
44 the items have unique Id, thus item Ids are not recommended.
45
46 * Corresponding GameBots message for this command is
47 * MOVE.
48 *
49 *
50 * @param FirstLocation The bot will start moving to this location first. If not specified, the bot won't move (even if SecondLocation is specified).
51 * @param SecondLocation After reaching FirstLocation, the bot will start moving to location specified here. If not specified the movement will quit at FirstLocation point.
52 * @param FocusTarget Here you can specify UnrealId of the object you want to face during movement (typically enemy player you want to shoot at). Player Ids will work, all NavPoints Ids, Movers and some of the items (with unique Id). This attribute is parsed before FocusLocation attribute and if set FocusLocation attribute will be ignored.
53 * @param FocusLocation Here you can specify location you want to face during movement. This attribute is parsed after FocusTarget attribute and will be ignored if FocusTarget is set.
54 */
55 public Move(
56 Location FirstLocation, Location SecondLocation, UnrealId FocusTarget, Location FocusLocation
57 ) {
58
59 this.FirstLocation = FirstLocation;
60
61 this.SecondLocation = SecondLocation;
62
63 this.FocusTarget = FocusTarget;
64
65 this.FocusLocation = FocusLocation;
66
67 }
68
69
70 /**
71 * Creates new instance of command Move.
72 *
73 The bot will start moving towards FirstLocation. After reaching it will continue
74 to SecondLocation (no delay). If no SecondLocation specified, the movement will end at
75 FirstLocation point.
76 You can specify some location or object you will be facing during the movement (if none specified,
77 the bot will start looking towards its destination point). Object is specified by UnrealId.
78 Player Ids will work, all NavPoints Ids and Movers. Respawned items should work too, but not all of
79 the items have unique Id, thus item Ids are not recommended.
80
81 * Corresponding GameBots message for this command is
82 * MOVE.
83 * <p></p>
84 * WARNING: this is empty-command constructor, you have to use setters to fill it up with data that should be sent to GameBots2004!
85 */
86 public Move() {
87 }
88
89
90 /**
91 * Cloning constructor.
92 *
93 * @param original
94 */
95 public Move(Move original) {
96
97 this.FirstLocation = original.FirstLocation;
98
99 this.SecondLocation = original.SecondLocation;
100
101 this.FocusTarget = original.FocusTarget;
102
103 this.FocusLocation = original.FocusLocation;
104
105 }
106
107 /**
108 The bot will start moving to this location first. If not specified, the bot won't move (even if SecondLocation is specified).
109 */
110 protected
111 Location FirstLocation =
112
113 null
114 ;
115
116
117
118 /**
119 * The bot will start moving to this location first. If not specified, the bot won't move (even if SecondLocation is specified).
120 */
121 public Location getFirstLocation()
122
123 {
124 return
125 FirstLocation;
126 }
127
128
129
130
131 /**
132 * The bot will start moving to this location first. If not specified, the bot won't move (even if SecondLocation is specified).
133 */
134 public Move
135 setFirstLocation(Location FirstLocation)
136
137 {
138 this.FirstLocation = FirstLocation;
139 return this;
140 }
141
142 /**
143 After reaching FirstLocation, the bot will start moving to location specified here. If not specified the movement will quit at FirstLocation point.
144 */
145 protected
146 Location SecondLocation =
147
148 null
149 ;
150
151
152
153 /**
154 * After reaching FirstLocation, the bot will start moving to location specified here. If not specified the movement will quit at FirstLocation point.
155 */
156 public Location getSecondLocation()
157
158 {
159 return
160 SecondLocation;
161 }
162
163
164
165
166 /**
167 * After reaching FirstLocation, the bot will start moving to location specified here. If not specified the movement will quit at FirstLocation point.
168 */
169 public Move
170 setSecondLocation(Location SecondLocation)
171
172 {
173 this.SecondLocation = SecondLocation;
174 return this;
175 }
176
177 /**
178 Here you can specify UnrealId of the object you want to face during movement (typically enemy player you want to shoot at). Player Ids will work, all NavPoints Ids, Movers and some of the items (with unique Id). This attribute is parsed before FocusLocation attribute and if set FocusLocation attribute will be ignored.
179 */
180 protected
181 UnrealId FocusTarget =
182
183 null
184 ;
185
186
187
188 /**
189 * Here you can specify UnrealId of the object you want to face during movement (typically enemy player you want to shoot at). Player Ids will work, all NavPoints Ids, Movers and some of the items (with unique Id). This attribute is parsed before FocusLocation attribute and if set FocusLocation attribute will be ignored.
190 */
191 public UnrealId getFocusTarget()
192
193 {
194 return
195 FocusTarget;
196 }
197
198
199
200
201 /**
202 * Here you can specify UnrealId of the object you want to face during movement (typically enemy player you want to shoot at). Player Ids will work, all NavPoints Ids, Movers and some of the items (with unique Id). This attribute is parsed before FocusLocation attribute and if set FocusLocation attribute will be ignored.
203 */
204 public Move
205 setFocusTarget(UnrealId FocusTarget)
206
207 {
208 this.FocusTarget = FocusTarget;
209 return this;
210 }
211
212 /**
213 Here you can specify location you want to face during movement. This attribute is parsed after FocusTarget attribute and will be ignored if FocusTarget is set.
214 */
215 protected
216 Location FocusLocation =
217
218 null
219 ;
220
221
222
223 /**
224 * Here you can specify location you want to face during movement. This attribute is parsed after FocusTarget attribute and will be ignored if FocusTarget is set.
225 */
226 public Location getFocusLocation()
227
228 {
229 return
230 FocusLocation;
231 }
232
233
234
235
236 /**
237 * Here you can specify location you want to face during movement. This attribute is parsed after FocusTarget attribute and will be ignored if FocusTarget is set.
238 */
239 public Move
240 setFocusLocation(Location FocusLocation)
241
242 {
243 this.FocusLocation = FocusLocation;
244 return this;
245 }
246
247 public String toString() {
248 return toMessage();
249 }
250
251 public String toHtmlString() {
252 return super.toString() + "[<br/>" +
253
254 "<b>FirstLocation</b> = " +
255 String.valueOf(getFirstLocation()
256 ) +
257 " <br/> " +
258
259 "<b>SecondLocation</b> = " +
260 String.valueOf(getSecondLocation()
261 ) +
262 " <br/> " +
263
264 "<b>FocusTarget</b> = " +
265 String.valueOf(getFocusTarget()
266 ) +
267 " <br/> " +
268
269 "<b>FocusLocation</b> = " +
270 String.valueOf(getFocusLocation()
271 ) +
272 " <br/> " +
273
274 "<br/>]"
275 ;
276 }
277
278 public String toMessage() {
279 StringBuffer buf = new StringBuffer();
280 buf.append("MOVE");
281
282 if (FirstLocation != null) {
283 buf.append(" {FirstLocation " +
284 FirstLocation.getX() + "," +
285 FirstLocation.getY() + "," +
286 FirstLocation.getZ() + "}");
287 }
288
289 if (SecondLocation != null) {
290 buf.append(" {SecondLocation " +
291 SecondLocation.getX() + "," +
292 SecondLocation.getY() + "," +
293 SecondLocation.getZ() + "}");
294 }
295
296 if (FocusTarget != null) {
297 buf.append(" {FocusTarget " + FocusTarget.getStringId() + "}");
298 }
299
300 if (FocusLocation != null) {
301 buf.append(" {FocusLocation " +
302 FocusLocation.getX() + "," +
303 FocusLocation.getY() + "," +
304 FocusLocation.getZ() + "}");
305 }
306
307 return buf.toString();
308 }
309
310 // --- Extra Java from XML BEGIN (extra/code/java)
311
312 // --- Extra Java from XML END (extra/code/java)
313
314 }
315