
            /**
            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. Some part of the bot body changed the
		zone.
	
                          Corresponding GameBots message is 
                          VCH.
                      
             */
            
            public class
            VolumeChanged
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"VCH {Id text} {ZoneVelocity 0,0,0} {ZoneGravity 0,0,0} {GroundFriction 0} {FluidFriction 0} {TerminalVelocity 0} {WaterVolume False} {PainCausing False} {Destructive False} {DamagePerSec 0} {DamageType text} {NoInventory False} {MoveProjectiles False} {NeutralZone False}";
    
            
            /////// Properties BEGIN
            
        /**
        Id of the zone entered. */
        protected
         String Id = 
        	null;
        
        
        /**
        Id of the zone entered. */
        public
        String getId() {
            return
         Id;
        }
        

        
        /**
        
			Zone velocity (?).
		 */
        protected
         Velocity ZoneVelocity = 
        	null;
        
        
        /**
        
			Zone velocity (?).
		 */
        public
        Velocity getZoneVelocity() {
            return
         ZoneVelocity;
        }
        

        
        /**
        
			Gravity in this zone.
		 */
        protected
         Velocity ZoneGravity = 
        	null;
        
        
        /**
        
			Gravity in this zone.
		 */
        public
        Velocity getZoneGravity() {
            return
         ZoneGravity;
        }
        

        
        /**
        
			Friction of the floor.
		 */
        protected
         double GroundFriction = 
        	0;
        
        
        /**
        
			Friction of the floor.
		 */
        public
        double getGroundFriction() {
            return
         GroundFriction;
        }
        

        
        /**
        
			Friction of the fluid.
		 */
        protected
         double FluidFriction = 
        	0;
        
        
        /**
        
			Friction of the fluid.
		 */
        public
        double getFluidFriction() {
            return
         FluidFriction;
        }
        

        
        /**
        
			Terminal velocity (?).
		 */
        protected
         double TerminalVelocity = 
        	0;
        
        
        /**
        
			Terminal velocity (?).
		 */
        public
        double getTerminalVelocity() {
            return
         TerminalVelocity;
        }
        

        
        /**
        
			If this zone is a water.
		 */
        protected
         boolean WaterVolume = 
        	false;
        
        
        /**
        
			If this zone is a water.
		 */
        public
        boolean isWaterVolume() {
            return
         WaterVolume;
        }
        

        
        /**
        
			True or false if we get some damage when we stay in this
			zone.
		 */
        protected
         boolean PainCausing = 
        	false;
        
        
        /**
        
			True or false if we get some damage when we stay in this
			zone.
		 */
        public
        boolean isPainCausing() {
            return
         PainCausing;
        }
        

        
        /**
        
			If this zone kills most of the actors instantly.
		 */
        protected
         boolean Destructive = 
        	false;
        
        
        /**
        
			If this zone kills most of the actors instantly.
		 */
        public
        boolean isDestructive() {
            return
         Destructive;
        }
        

        
        /**
        
			Amount of damage we will suffer per second if we stay in this zone.
		 */
        protected
         double DamagePerSec = 
        	0;
        
        
        /**
        
			Amount of damage we will suffer per second if we stay in this zone.
		 */
        public
        double getDamagePerSec() {
            return
         DamagePerSec;
        }
        

        
        /**
        
			Type of the damage in this zone.
		 */
        protected
         String DamageType = 
        	null;
        
        
        /**
        
			Type of the damage in this zone.
		 */
        public
        String getDamageType() {
            return
         DamageType;
        }
        

        
        /**
        
			If the inventory is allowed here.
		 */
        protected
         boolean NoInventory = 
        	false;
        
        
        /**
        
			If the inventory is allowed here.
		 */
        public
        boolean isNoInventory() {
            return
         NoInventory;
        }
        

        
        /**
        
			If this velocity zone should impart velocity to projectiles and effects.
		 */
        protected
         boolean MoveProjectiles = 
        	false;
        
        
        /**
        
			If this velocity zone should impart velocity to projectiles and effects.
		 */
        public
        boolean isMoveProjectiles() {
            return
         MoveProjectiles;
        }
        

        
        /**
        
			Players can't take damage in this zone.
		 */
        protected
         boolean NeutralZone = 
        	false;
        
        
        /**
        
			Players can't take damage in this zone.
		 */
        public
        boolean isNeutralZone() {
            return
         NeutralZone;
        }
        

        
            /////// 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 VolumeChanged(VolumeChanged original) {
                
                     this.Id=original.Id;
                
                     this.ZoneVelocity=original.ZoneVelocity;
                
                     this.ZoneGravity=original.ZoneGravity;
                
                     this.GroundFriction=original.GroundFriction;
                
                     this.FluidFriction=original.FluidFriction;
                
                     this.TerminalVelocity=original.TerminalVelocity;
                
                     this.WaterVolume=original.WaterVolume;
                
                     this.PainCausing=original.PainCausing;
                
                     this.Destructive=original.Destructive;
                
                     this.DamagePerSec=original.DamagePerSec;
                
                     this.DamageType=original.DamageType;
                
                     this.NoInventory=original.NoInventory;
                
                     this.MoveProjectiles=original.MoveProjectiles;
                
                     this.NeutralZone=original.NeutralZone;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public VolumeChanged() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "ZoneVelocity = " + 
				               String.valueOf(ZoneVelocity) + " | " +
				            
				               "ZoneGravity = " + 
				               String.valueOf(ZoneGravity) + " | " +
				            
				               "GroundFriction = " + 
				               String.valueOf(GroundFriction) + " | " +
				            
				               "FluidFriction = " + 
				               String.valueOf(FluidFriction) + " | " +
				            
				               "TerminalVelocity = " + 
				               String.valueOf(TerminalVelocity) + " | " +
				            
				               "WaterVolume = " + 
				               String.valueOf(WaterVolume) + " | " +
				            
				               "PainCausing = " + 
				               String.valueOf(PainCausing) + " | " +
				            
				               "Destructive = " + 
				               String.valueOf(Destructive) + " | " +
				            
				               "DamagePerSec = " + 
				               String.valueOf(DamagePerSec) + " | " +
				            
				               "DamageType = " + 
				               String.valueOf(DamageType) + " | " +
				            
				               "NoInventory = " + 
				               String.valueOf(NoInventory) + " | " +
				            
				               "MoveProjectiles = " + 
				               String.valueOf(MoveProjectiles) + " | " +
				            
				               "NeutralZone = " + 
				               String.valueOf(NeutralZone) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>ZoneVelocity</b> : " + 
            String.valueOf(ZoneVelocity) + 
            " <br/> " +
             
            "<b>ZoneGravity</b> : " + 
            String.valueOf(ZoneGravity) + 
            " <br/> " +
             
            "<b>GroundFriction</b> : " + 
            String.valueOf(GroundFriction) + 
            " <br/> " +
             
            "<b>FluidFriction</b> : " + 
            String.valueOf(FluidFriction) + 
            " <br/> " +
             
            "<b>TerminalVelocity</b> : " + 
            String.valueOf(TerminalVelocity) + 
            " <br/> " +
             
            "<b>WaterVolume</b> : " + 
            String.valueOf(WaterVolume) + 
            " <br/> " +
             
            "<b>PainCausing</b> : " + 
            String.valueOf(PainCausing) + 
            " <br/> " +
             
            "<b>Destructive</b> : " + 
            String.valueOf(Destructive) + 
            " <br/> " +
             
            "<b>DamagePerSec</b> : " + 
            String.valueOf(DamagePerSec) + 
            " <br/> " +
             
            "<b>DamageType</b> : " + 
            String.valueOf(DamageType) + 
            " <br/> " +
             
            "<b>NoInventory</b> : " + 
            String.valueOf(NoInventory) + 
            " <br/> " +
             
            "<b>MoveProjectiles</b> : " + 
            String.valueOf(MoveProjectiles) + 
            " <br/> " +
             
            "<b>NeutralZone</b> : " + 
            String.valueOf(NeutralZone) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        