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 FLG.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Synchronous message. FlagInfo contains all info about the flag
25  		in the CTF game mode. Is not sent in other game types.
26  	
27           */
28   	public abstract class FlagInfoStatic 
29    						extends InfoMessage
30    						implements IStaticWorldObject
31    						
32  	    {
33   	
34      	
35      	
36      	/**
37      	 * Parameter-less contructor for the message.
38      	 */
39  		public FlagInfoStatic()
40  		{
41  		}
42  		
43  				// abstract definition of the static-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  	    			
64  	    				@Override
65  		    			public abstract 
66  		    			FlagInfoStatic clone();
67  		    			
68  						@Override
69  						public Class getCompositeClass() {
70  							return FlagInfo.class;
71  						}
72  	
73  						
74  		    			
75   		/**
76           * 
77  			An unique Id for this flag, assigned by the game.
78  		 
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   				FlagInfoStatic obj = (FlagInfoStatic) 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 FlagInfoStatic");
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