
            /**
            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. Send when the bot changed weapon. Here we will export
        the status of the old weapon - of the weapon that was changed. So we can have
        correct info about weapons in our inventory. This could be a problem without
        this message because of synchronous batch delay.
	
                          Corresponding GameBots message is 
                          WUP.
                      
             */
            
            public class
            WeaponUpdate
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"WUP {Id text} {PrimaryAmmo 0} {SecondaryAmmo 0}";
    
            
            /////// Properties BEGIN
            
        /**
        
			Unique Id of the weapon, based on the inventory weapon's
			name (this is different from the Id of the weapon that can
			be picked up in the map).
		 */
        protected
         String Id = 
        	null;
        
        
        /**
        
			Unique Id of the weapon, based on the inventory weapon's
			name (this is different from the Id of the weapon that can
			be picked up in the map).
		 */
        public
        String getId() {
            return
         Id;
        }
        

        
        /**
        
			Holding primary ammo of the old weapon (that was changed).
		 */
        protected
         int PrimaryAmmo = 
        	0;
        
        
        /**
        
			Holding primary ammo of the old weapon (that was changed).
		 */
        public
        int getPrimaryAmmo() {
            return
         PrimaryAmmo;
        }
        

        
        /**
        
			Holding secondary ammo of the old weapon (that was changed)
		 */
        protected
         int SecondaryAmmo = 
        	0;
        
        
        /**
        
			Holding secondary ammo of the old weapon (that was changed)
		 */
        public
        int getSecondaryAmmo() {
            return
         SecondaryAmmo;
        }
        

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