
            /**
            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.*;    
                
            
            /**
              
		Synchronous/asynchronous message. An object on the ground that
		can be picked up. Has attribute Event, if the Event is "See" it
		is synchronous message. If the Event is "Pickup" it was sent
		asynchronously as a notification we have picked up the item.
	
                          Corresponding GameBots message is 
                          IPK.
                      
             */
            
            public class
            ItemPickedUp
                    extends GBEvent
                
	            	implements IWorldEvent, ILocated
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"IPK {Id unreal_id} {InventoryId unreal_id} {Location 0,0,0} {Amount 0} {Type xWeapons.FlakCannonPickup} {Dropped False}";
    
            
            /////// Properties BEGIN
            
        /**
        
			Unique Id of the item. This Id represents just item on the
			map, not in our inventory.
		 */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        
			Unique Id of the item. This Id represents just item on the
			map, not in our inventory.
		 */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
        /**
        
			Unique Id of the item in our inventory - use this Id to do changeweapons etc.
			Unreal has different Ids for items in map and actual item in bot's inventory.
		 */
        protected
         UnrealId InventoryId = 
        	null;
        
        
        /**
        
			Unique Id of the item in our inventory - use this Id to do changeweapons etc.
			Unreal has different Ids for items in map and actual item in bot's inventory.
		 */
        public
        UnrealId getInventoryId() {
            return
         InventoryId;
        }
        

        
        /**
        Location of the item. */
        protected
         Location Location = 
        	null;
        
        
        /**
        Location of the item. */
        public
        Location getLocation() {
            return
         Location;
        }
        

        
        /**
        
			If this item is some ammo or health pack, here we can find
			out how much of the attribute this item will add. Works also for weapons - will hold primary ammo adition.
		 */
        protected
         int Amount = 
        	0;
        
        
        /**
        
			If this item is some ammo or health pack, here we can find
			out how much of the attribute this item will add. Works also for weapons - will hold primary ammo adition.
		 */
        public
        int getAmount() {
            return
         Amount;
        }
        

        
        /**
        
			Class of the item (e.g. xWeapons.FlakCannonPickup).
		 */
        protected
         ItemType Type = 
        	null;
        
        
        /**
        
			Class of the item (e.g. xWeapons.FlakCannonPickup).
		 */
        public
        ItemType 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;
        }
        

        
        /**
        
			Whether it is a regular item or 
		 */
        protected
         Boolean Dropped = 
        	null;
        
        
        /**
        
			Whether it is a regular item or 
		 */
        public
        Boolean isDropped() {
            return
         Dropped;
        }
        

        
            /////// 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 ItemPickedUp(ItemPickedUp original) {
                
                     this.Id=original.Id;
                
                     this.InventoryId=original.InventoryId;
                
                     this.Location=original.Location;
                
                     this.Amount=original.Amount;
                
                     this.Type=original.Type;
                
                     this.Descriptor=original.Descriptor;
                
                     this.Dropped=original.Dropped;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public ItemPickedUp() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "InventoryId = " + 
				               String.valueOf(InventoryId) + " | " +
				            
				               "Location = " + 
				               String.valueOf(Location) + " | " +
				            
				               "Amount = " + 
				               String.valueOf(Amount) + " | " +
				            
				               "Type = " + 
				               String.valueOf(Type) + " | " +
				            
				               "Dropped = " + 
				               String.valueOf(Dropped) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>InventoryId</b> : " + 
            String.valueOf(InventoryId) + 
            " <br/> " +
             
            "<b>Location</b> : " + 
            String.valueOf(Location) + 
            " <br/> " +
             
            "<b>Amount</b> : " + 
            String.valueOf(Amount) + 
            " <br/> " +
             
            "<b>Type</b> : " + 
            String.valueOf(Type) + 
            " <br/> " +
             
            "<b>Descriptor</b> : " + 
            String.valueOf(Descriptor) + 
            " <br/> " +
             
            "<b>Dropped</b> : " + 
            String.valueOf(Dropped) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        