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 MYINV.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		An object in the observed player's inventory.
25      
26           */
27   	public abstract class MyInventoryStatic 
28    						extends InfoMessage
29    						implements IStaticWorldObject
30    						
31  	    {
32   	
33      	
34      	
35      	/**
36      	 * Parameter-less contructor for the message.
37      	 */
38  		public MyInventoryStatic()
39  		{
40  		}
41  		
42  				// abstract definition of the static-part of the message, no more constructors is needed
43  			
44  	   		
45  			protected long SimTime;
46  				
47  			/**
48  			 * Simulation time in MILLI SECONDS !!!
49  			 */	
50  			@Override
51  			public long getSimTime() {
52  				return SimTime;
53  			}
54  						
55  			/**
56  			 * Used by Yylex to slip correct time of the object or programmatically.
57  			 */
58  			protected void setSimTime(long SimTime) {
59  				this.SimTime = SimTime;
60  			}
61  	   	
62  	    			
63  	    				@Override
64  		    			public abstract 
65  		    			MyInventoryStatic clone();
66  		    			
67  						@Override
68  						public Class getCompositeClass() {
69  							return MyInventory.class;
70  						}
71  	
72  						
73  		    			
74   		/**
75           * 
76  			Unique Id of the item. This Id represents the item in the inventory.
77  		 
78           */
79          public abstract UnrealId getId()
80   	;
81  		    			
82   		/**
83           * 
84  			Class of the item (e.g. xWeapons.FlakCannonPickup).
85  		 
86           */
87          public abstract ItemType getType()
88   	;
89  		    			
90   		/**
91           * 
92  			Descriptor of the item - according the ItemType you may cast this to various XYZDescriptor.
93  		 
94           */
95          public abstract ItemDescriptor getDescriptor()
96   	;
97  		    			
98   		
99   		@Override
100  		public boolean isDifferentFrom(IStaticWorldObject other)
101  		{
102  			if (other == null) //early fail
103  			{
104  				return true;
105  			}
106  			else if (other == this) //early out
107  			{
108  				return false;
109  			}
110  			else
111  			{
112  				MyInventoryStatic obj = (MyInventoryStatic) other;
113 
114  				
115  						if ( !(
116  	 			AdvancedEquals.equalsOrNull(this.getId()
117  	, obj.getId()
118  	)
119  	 		) )
120 						{
121 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class MyInventoryStatic");
122 							return true;
123 						}
124  					
125  						if ( !(
126  	 			AdvancedEquals.equalsOrNull(this.getType()
127  	, obj.getType()
128  	)
129  	 		) )
130 						{
131 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class MyInventoryStatic");
132 							return true;
133 						}
134  					
135  						if ( !(
136  	 			AdvancedEquals.equalsOrNull(this.getDescriptor()
137  	, obj.getDescriptor()
138  	)
139  	 		) )
140 						{
141 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Descriptor on object class MyInventoryStatic");
142 							return true;
143 						}
144  					
145  			}
146  			return false;
147  		}
148  	 
149  		
150  	    public String toString() {
151             return
152             	super.toString() + "[" +
153             	
154 		              			"Id = " + String.valueOf(getId()
155  	) + " | " + 
156 		              		
157 		              			"Type = " + String.valueOf(getType()
158  	) + " | " + 
159 		              		
160 				"]";           		
161         }
162  	
163  		
164  		public String toHtmlString() {
165  			return super.toString() + "[<br/>" +
166             	
167 		              			"<b>Id</b> = " + String.valueOf(getId()
168  	) + " <br/> " + 
169 		              		
170 		              			"<b>Type</b> = " + String.valueOf(getType()
171  	) + " <br/> " + 
172 		              		
173 				"<br/>]";     
174 		}
175  	
176  		
177  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
178         	
179 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
180 		
181 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
182 	        
183 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
184  	
185 		}
186