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=local]+classtype[@name=abstract] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=local]+classtype[@name=abstract] END
15      
16   		/**
17           *  
18              				Abstract definition of the local 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 MyInventoryLocal 
28    						extends InfoMessage
29    						implements ILocalWorldObject
30    						
31  	    {
32   	
33      	
34      	
35      	/**
36      	 * Parameter-less contructor for the message.
37      	 */
38  		public MyInventoryLocal()
39  		{
40  		}
41  		
42  				// abstract definition of the local-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  		    			MyInventoryLocal 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  			If this item is a weapon, this holds the amount of primary ammo.
85  		 
86           */
87          public abstract int getCurrentAmmo()
88   	;
89  		    			
90   		/**
91           * 
92  			If this item is a weapon, this holds the amount of secondary ammo.
93  		 
94           */
95          public abstract int getCurrentAltAmmo()
96   	;
97  		    			
98   		/**
99           * 
100 			If this item is ammo or armor, this holds the amount of the item the player has.
101 		 
102          */
103         public abstract int getAmount()
104  	;
105 		    			
106     	
107     	
108     	
109     	public MyInventoryLocal getLocal() {
110 			return this;
111     	}
112 		public ISharedWorldObject getShared() {
113 		 	throw new UnsupportedOperationException("Could not return LOCAL");
114 		}
115 		public IStaticWorldObject getStatic() {
116 		    throw new UnsupportedOperationException("Could not return LOCAL");
117 		}
118  	
119  		
120  		
121  	    public String toString() {
122             return
123             	super.toString() + "[" +
124             	
125 		              			"Id = " + String.valueOf(getId()
126  	) + " | " + 
127 		              		
128 		              			"CurrentAmmo = " + String.valueOf(getCurrentAmmo()
129  	) + " | " + 
130 		              		
131 		              			"CurrentAltAmmo = " + String.valueOf(getCurrentAltAmmo()
132  	) + " | " + 
133 		              		
134 		              			"Amount = " + String.valueOf(getAmount()
135  	) + " | " + 
136 		              		
137 				"]";           		
138         }
139  	
140  		
141  		public String toHtmlString() {
142  			return super.toString() + "[<br/>" +
143             	
144 		              			"<b>Id</b> = " + String.valueOf(getId()
145  	) + " <br/> " + 
146 		              		
147 		              			"<b>CurrentAmmo</b> = " + String.valueOf(getCurrentAmmo()
148  	) + " <br/> " + 
149 		              		
150 		              			"<b>CurrentAltAmmo</b> = " + String.valueOf(getCurrentAltAmmo()
151  	) + " <br/> " + 
152 		              		
153 		              			"<b>Amount</b> = " + String.valueOf(getAmount()
154  	) + " <br/> " + 
155 		              		
156 				"<br/>]";     
157 		}
158  	
159  		
160  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
161         	
162 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
163 		
164 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=local+classtype[@name=abstract]) ---
165 	        
166 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=local+classtype[@name=abstract]) ---        	            	
167  	
168 		}
169