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=static]+classtype[@name=abstract] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=static]+classtype[@name=abstract] END
15      
16   		/**
17           *  
18              				Abstract definition of the static part of the GameBots2004 message PLR.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Synchronous message. Contains information about other players in
25  		the game, like their current velocity, position, weapon and
26  		reachability. Only reports those players that are visible.
27  		(within field of view and not occluded).
28  	
29           */
30   	public abstract class PlayerStatic 
31    						extends InfoMessage
32    						implements IStaticWorldObject
33    						
34  	    {
35   	
36      	
37      	
38      	/**
39      	 * Parameter-less contructor for the message.
40      	 */
41  		public PlayerStatic()
42  		{
43  		}
44  		
45  				// abstract definition of the static-part of the message, no more constructors is needed
46  			
47  	   		
48  			protected long SimTime;
49  				
50  			/**
51  			 * Simulation time in MILLI SECONDS !!!
52  			 */	
53  			@Override
54  			public long getSimTime() {
55  				return SimTime;
56  			}
57  						
58  			/**
59  			 * Used by Yylex to slip correct time of the object or programmatically.
60  			 */
61  			protected void setSimTime(long SimTime) {
62  				this.SimTime = SimTime;
63  			}
64  	   	
65  	    			
66  	    				@Override
67  		    			public abstract 
68  		    			PlayerStatic clone();
69  		    			
70  						@Override
71  						public Class getCompositeClass() {
72  							return Player.class;
73  						}
74  	
75  						
76  		    			
77   		/**
78           * Unique Id of the player. 
79           */
80          public abstract UnrealId getId()
81   	;
82  		    			
83   		
84   		@Override
85   		public boolean isDifferentFrom(IStaticWorldObject other)
86   		{
87   			if (other == null) //early fail
88   			{
89   				return true;
90   			}
91   			else if (other == this) //early out
92   			{
93   				return false;
94   			}
95   			else
96   			{
97   				PlayerStatic obj = (PlayerStatic) other;
98  
99   				
100  						if ( !(
101  	 			AdvancedEquals.equalsOrNull(this.getId()
102  	, obj.getId()
103  	)
104  	 		) )
105 						{
106 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class PlayerStatic");
107 							return true;
108 						}
109  					
110  			}
111  			return false;
112  		}
113  	 
114  		
115  	    public String toString() {
116             return
117             	super.toString() + "[" +
118             	
119 		              			"Id = " + String.valueOf(getId()
120  	) + " | " + 
121 		              		
122 				"]";           		
123         }
124  	
125  		
126  		public String toHtmlString() {
127  			return super.toString() + "[<br/>" +
128             	
129 		              			"<b>Id</b> = " + String.valueOf(getId()
130  	) + " <br/> " + 
131 		              		
132 				"<br/>]";     
133 		}
134  	
135  		
136  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
137         	
138 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
139 		
140 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
141 	        
142 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
143  	
144 		}
145