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=event]+classtype[@name=impl] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=event]+classtype[@name=impl] END
15      
16   		/**
17           *  
18           			Definition of the event LAND.
19           		
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Asynchronous message. Sent when the bot lands on the ground after falling.
25  		Received also after respawn.
26  	
27           */
28   	public class Landed 
29    				extends InfoMessage
30      			implements IWorldEvent, IWorldChangeEvent
31      			
32  	    {
33   	
34      	/** Example how the message looks like - used during parser tests. */
35      	public static final String PROTOTYPE =
36      		"LAND {HitNormal 0,0,0} ";
37      
38      	
39      	
40      	/**
41      	 * Parameter-less contructor for the message.
42      	 */
43  		public Landed()
44  		{
45  		}
46  	
47      	
48      	
49      	
50      	/**
51  		 * Creates new instance of the message Landed.
52  		 * 
53  		Asynchronous message. Sent when the bot lands on the ground after falling.
54  		Received also after respawn.
55  	
56  		 * Corresponding GameBots message
57  		 *   
58  		 *   is
59  		 *   LAND.
60  		 * 
61   	  	 * 
62  		 *   
63  		 *     @param HitNormal 
64  			Normal of the plane we have landed on.
65  		
66  		 *   
67  		 * 
68  		 */
69  		public Landed(
70  			Vector3d HitNormal
71  		) {
72  			
73  					this.HitNormal = HitNormal;
74  				
75  		}
76      
77      	/**
78  		 * Cloning constructor from the full message.
79  		 *
80  		 * @param original
81  		 */
82  		public Landed(Landed original) {		
83  			
84  					this.HitNormal = original.getHitNormal()
85   	;
86  				
87  			this.SimTime = original.getSimTime();			
88  		}
89  		
90  	   		
91  			protected long SimTime;
92  				
93  			/**
94  			 * Simulation time in MILLI SECONDS !!!
95  			 */	
96  			@Override
97  			public long getSimTime() {
98  				return SimTime;
99  			}
100 						
101 			/**
102 			 * Used by Yylex to slip correct time of the object or programmatically.
103 			 */
104 			protected void setSimTime(long SimTime) {
105 				this.SimTime = SimTime;
106 			}
107 	   	
108     	
109 	    /**
110          * 
111 			Normal of the plane we have landed on.
112 		 
113          */
114         protected
115          Vector3d HitNormal =
116        	null;
117 	
118  		/**
119          * 
120 			Normal of the plane we have landed on.
121 		 
122          */
123         public  Vector3d getHitNormal()
124  	 {
125     					return HitNormal;
126     				}
127     			
128  		
129  	    public String toString() {
130             return
131             	super.toString() + "[" +
132             	
133 		              			"HitNormal = " + String.valueOf(getHitNormal()
134  	) + " | " + 
135 		              		
136 				"]";           		
137         }
138  	
139  		
140  		public String toHtmlString() {
141  			return super.toString() + "[<br/>" +
142             	
143 		              			"<b>HitNormal</b> = " + String.valueOf(getHitNormal()
144  	) + " <br/> " + 
145 		              		
146 				"<br/>]";     
147 		}
148  	
149  	    public String toJsonLiteral() {
150             return "landed( "
151             		+
152 									(getHitNormal()
153  	 == null ? "null" :
154 										"[" + getHitNormal()
155  	.getX() + ", " + getHitNormal()
156  	.getY() + ", " + getHitNormal()
157  	.getZ() + "]" 
158 									)
159 								
160                    + ")";
161         }
162  	
163  		
164  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
165         	
166 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
167 		
168 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---
169 	        
170 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---        	            	
171  	
172 		}
173