
            /**
            IMPORTANT !!!
       
            DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbinfomessages BY
            THE JavaClassesGenerator.xslt. MODIFY THESE FILES INSTEAD OF THIS ONE.
       
            IMPORTANT END !!!
            */
            package
            cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
	    		import java.util.*;    
    import javax.vecmath.*;    
    import cz.cuni.amis.pogamut.base.communication.messages.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.*;    
    import cz.cuni.amis.pogamut.base.agent.worldview.objects.*;    
    import cz.cuni.amis.pogamut.base.communication.translator.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;    
    import cz.cuni.amis.pogamut.base.exceptions.*;    
    import cz.cuni.amis.pogamut.base3d.worldview.objects.*;    
    import cz.cuni.amis.pogamut.ut2004.communication.messages.*;    
    import cz.cuni.amis.pogamut.ut2004.agent.worldview.objects.*;    
                
            
            /**
              
		Asynchronous message. Sent when we get new weapon or ammunition
		for weapon we do not have yet. Sent just once per weapon type or
		per new ammunition type (notify new object in our inventory, NOT
		pickup). 
		The Id of the object (Inventory Id) here is different from the object that is lying on the 
		ground and represents this item in the map (Pickup id).
	
                          Corresponding GameBots message is 
                          AIN.
                      
             */
            
            public class
            AddInventoryMsg
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"AIN {Id unreal_id} {Type text} {PickupType xWeapons.FlakCannonPickup}";
    
            
            /////// Properties BEGIN
            
        /**
        
			A unique Id for this inventory item, assigned by the game.
			Unique, but based on a string describing the item type.
		 */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        
			A unique Id for this inventory item, assigned by the game.
			Unique, but based on a string describing the item type.
		 */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
        /**
        
			A string representing type (inventory type) of the object.
		 */
        protected
         String Type = 
        	null;
        
        
        /**
        
			A string representing type (inventory type) of the object.
		 */
        public
        String getType() {
            return
         Type;
        }
        

        
        /**
        
			Descriptor of the item - according the ItemType you may cast this to various XYZDescriptor. 
		 */
        protected
         ItemDescriptor Descriptor = 
        	null;
        
        
        /**
        
			Descriptor of the item - according the ItemType you may cast this to various XYZDescriptor. 
		 */
        public
        ItemDescriptor getDescriptor() {
            return
         Descriptor;
        }
        

        
        /**
        
			We get this item if we pick up this pickup class in the map.
		 */
        protected
         ItemType PickupType = 
        	null;
        
        
        /**
        
			We get this item if we pick up this pickup class in the map.
		 */
        public
        ItemType getPickupType() {
            return
         PickupType;
        }
        

        
            /////// Properties END
            
            /////// Extra Java code BEGIN
                        	
            	/////// Additional code from xslt BEGIN            	 
            			
            		
            		
            	/////// Additional code from xslt END            
				                    
	            /////// Extra Java from XML BEGIN
            		
            	/////// Extra Java from XML END
            	    
            /////// Extra Java code END
            
            
            
            /**
              * Cloning constructor.
              */
             public AddInventoryMsg(AddInventoryMsg original) {
                
                     this.Id=original.Id;
                
                     this.Type=original.Type;
                
                     this.Descriptor=original.Descriptor;
                
                     this.PickupType=original.PickupType;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public AddInventoryMsg() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "Type = " + 
				               String.valueOf(Type) + " | " +
				            
				               "PickupType = " + 
				               String.valueOf(PickupType) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>Type</b> : " + 
            String.valueOf(Type) + 
            " <br/> " +
             
            "<b>Descriptor</b> : " + 
            String.valueOf(Descriptor) + 
            " <br/> " +
             
            "<b>PickupType</b> : " + 
            String.valueOf(PickupType) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        