View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
2    		
3    		// --- IMPORTS FROM /messages/settings/javasettings/javaimport BEGIN
4   			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.*;
5   		// --- IMPORTS FROM /messages/settings/javasettings/javaimport END
6   		
7   		
8   		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] BEGIN
9   				
10  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] END
11  		
12  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=shared]+classtype[@name=abstract] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=shared]+classtype[@name=abstract] END
15      
16   		/**
17           *  
18              				Abstract definition of the shared part of the GameBots2004 message BOM.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Synchronous message. BombInfo contains all info about the bomb
25  		in the BotBombingRun game mode. Is not sent in other game types.
26  	
27           */
28   	public abstract class BombInfoShared 
29    						extends InfoMessage
30    						implements ISharedWorldObject
31    						
32  	    {
33   	
34      	
35      	
36      	/**
37      	 * Parameter-less contructor for the message.
38      	 */
39  		public BombInfoShared()
40  		{
41  		}
42  		
43  				// abstract definition of the shared-part of the message, no more constructors is needed
44  			
45  	   		
46  			protected long SimTime;
47  				
48  			/**
49  			 * Simulation time in MILLI SECONDS !!!
50  			 */	
51  			@Override
52  			public long getSimTime() {
53  				return SimTime;
54  			}
55  						
56  			/**
57  			 * Used by Yylex to slip correct time of the object or programmatically.
58  			 */
59  			protected void setSimTime(long SimTime) {
60  				this.SimTime = SimTime;
61  			}
62  	   	
63  	    						public static final Token VelocityPropertyToken = Tokens.get("Velocity");
64  	    					
65  	    						public static final Token LocationPropertyToken = Tokens.get("Location");
66  	    					
67  	    						public static final Token HolderPropertyToken = Tokens.get("Holder");
68  	    					
69  	    						public static final Token HolderTeamPropertyToken = Tokens.get("HolderTeam");
70  	    					
71  	    						public static final Token StatePropertyToken = Tokens.get("State");
72  	    						
73  							
74  							public static final Set<Token> SharedPropertyTokens;
75  	
76  							static {
77  								Set<Token> tokens = new HashSet<Token>();
78  								
79  									tokens.add(VelocityPropertyToken);
80  								
81  									tokens.add(LocationPropertyToken);
82  								
83  									tokens.add(HolderPropertyToken);
84  								
85  									tokens.add(HolderTeamPropertyToken);
86  								
87  									tokens.add(StatePropertyToken);
88  								
89  								SharedPropertyTokens = Collections.unmodifiableSet(tokens);
90  							}
91  	    				
92  	    			
93  	    				@Override
94  		    			public abstract 
95  		    			BombInfoShared clone();
96  		    			
97  						@Override
98  						public Class getCompositeClass() {
99  							return BombInfo.class;
100 						}
101 	
102 						
103 		    			
104  		/**
105          * 
106 			An unique Id for this bomb, assigned by the game.
107 		 
108          */
109         public abstract UnrealId getId()
110  	;
111 		    			
112  		/**
113          * 
114    		Current velocity of the bomb. TODO not sure if this actually does smthing
115    	 
116          */
117         public abstract Velocity getVelocity()
118  	;
119 		    			
120  		/**
121          * 
122 			An absolute location of the bomb (Sent if we can actually
123 			see the flag).
124 		 
125          */
126         public abstract Location getLocation()
127  	;
128 		    			
129  		/**
130          * 
131 			Id of player/bot holding the bomb. (Sent if we can actually
132 			see the bomb and the bomb is being carried, or if the bomb
133 			is being carried by us).
134 		 
135          */
136         public abstract UnrealId getHolder()
137  	;
138 		    			
139  		/**
140          * 
141 			The team of the current holder (if any).
142 		 
143          */
144         public abstract Integer getHolderTeam()
145  	;
146 		    			
147  		/**
148          * 
149 			Represents the state the bomb is in. Can be "Held",
150 			"Dropped" or "Home".
151 		 
152          */
153         public abstract String getState()
154  	;
155 		    			
156  		
157  	    public String toString() {
158             return
159             	super.toString() + "[" +
160             	
161 		              			"Id = " + String.valueOf(getId()
162  	) + " | " + 
163 		              		
164 		              			"Velocity = " + String.valueOf(getVelocity()
165  	) + " | " + 
166 		              		
167 		              			"Location = " + String.valueOf(getLocation()
168  	) + " | " + 
169 		              		
170 		              			"Holder = " + String.valueOf(getHolder()
171  	) + " | " + 
172 		              		
173 		              			"HolderTeam = " + String.valueOf(getHolderTeam()
174  	) + " | " + 
175 		              		
176 		              			"State = " + String.valueOf(getState()
177  	) + " | " + 
178 		              		
179 				"]";           		
180         }
181  	
182  		
183  		public String toHtmlString() {
184  			return super.toString() + "[<br/>" +
185             	
186 		              			"<b>Id</b> = " + String.valueOf(getId()
187  	) + " <br/> " + 
188 		              		
189 		              			"<b>Velocity</b> = " + String.valueOf(getVelocity()
190  	) + " <br/> " + 
191 		              		
192 		              			"<b>Location</b> = " + String.valueOf(getLocation()
193  	) + " <br/> " + 
194 		              		
195 		              			"<b>Holder</b> = " + String.valueOf(getHolder()
196  	) + " <br/> " + 
197 		              		
198 		              			"<b>HolderTeam</b> = " + String.valueOf(getHolderTeam()
199  	) + " <br/> " + 
200 		              		
201 		              			"<b>State</b> = " + String.valueOf(getState()
202  	) + " <br/> " + 
203 		              		
204 				"<br/>]";     
205 		}
206  	
207  		
208  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
209         	
210 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
211 		
212 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---
213 	        
214 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=shared+classtype[@name=abstract]) ---        	            	
215  	
216 		}
217