
            /**
            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. Message sent when the bot configuration
		changed - each agent has a lot of parameters affecting his state
		in the environment. See each property for the details.
	
                          Corresponding GameBots message is 
                          CONFCH.
                      
             */
            
            public class
            ConfigChange
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"CONFCH {Id unreal_id} {ManualSpawn False} {AutoTrace False} {Name text} {SpeedMultiplier 0} {Invulnerable False} {VisionTime 0} {ShowDebug False} {ShowFocalPoint False} {DrawTraceLines False} {SynchronousOff False} {AutoPickupOff False}";
    
            
            /////// Properties BEGIN
            
        /**
        Unique Id of the bot. */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        Unique Id of the bot. */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
        /**
        
			True if we have to spawn the bot manually after each death
		 */
        protected
         boolean ManualSpawn = 
        	false;
        
        
        /**
        
			True if we have to spawn the bot manually after each death
		 */
        public
        boolean isManualSpawn() {
            return
         ManualSpawn;
        }
        

        
        /**
        
			True if the bot is using auto ray tracing (is provided with
			synchronous ATR messages). See ATR messages for more
			details.
		 */
        protected
         boolean AutoTrace = 
        	false;
        
        
        /**
        
			True if the bot is using auto ray tracing (is provided with
			synchronous ATR messages). See ATR messages for more
			details.
		 */
        public
        boolean isAutoTrace() {
            return
         AutoTrace;
        }
        

        
        /**
        The bot's name. */
        protected
         String Name = 
        	null;
        
        
        /**
        The bot's name. */
        public
        String getName() {
            return
         Name;
        }
        

        
        /**
        
			Bots default speed will be multiplied by this number. Ranges from 0.1 to 2 (default, can be set in ini in [RemoteBot] MaxSpeed).
		 */
        protected
         double SpeedMultiplier = 
        	0;
        
        
        /**
        
			Bots default speed will be multiplied by this number. Ranges from 0.1 to 2 (default, can be set in ini in [RemoteBot] MaxSpeed).
		 */
        public
        double getSpeedMultiplier() {
            return
         SpeedMultiplier;
        }
        

        
        /**
        
			If bot is invulnerable (cannot die) or not.
		 */
        protected
         boolean Invulnerable = 
        	false;
        
        
        /**
        
			If bot is invulnerable (cannot die) or not.
		 */
        public
        boolean isInvulnerable() {
            return
         Invulnerable;
        }
        

        
        /**
        
			The delay between two synchronous batches (can range from
			0.1 to 2 seconds).
		 */
        protected
         double VisionTime = 
        	0;
        
        
        /**
        
			The delay between two synchronous batches (can range from
			0.1 to 2 seconds).
		 */
        public
        double getVisionTime() {
            return
         VisionTime;
        }
        

        
        /**
        
			If some additional debug information will be shown in the
			UT2004 server console window.
		 */
        protected
         boolean ShowDebug = 
        	false;
        
        
        /**
        
			If some additional debug information will be shown in the
			UT2004 server console window.
		 */
        public
        boolean isShowDebug() {
            return
         ShowDebug;
        }
        

        
        /**
        
			If true an actor visualizing the location the bot is
			actually looking at will appear in the game.
		 */
        protected
         boolean ShowFocalPoint = 
        	false;
        
        
        /**
        
			If true an actor visualizing the location the bot is
			actually looking at will appear in the game.
		 */
        public
        boolean isShowFocalPoint() {
            return
         ShowFocalPoint;
        }
        

        
        /**
        
			if the GB should draw lines representing the auto ray traces
			of the bot (for more information see ATR message).
		 */
        protected
         boolean DrawTraceLines = 
        	false;
        
        
        /**
        
			if the GB should draw lines representing the auto ray traces
			of the bot (for more information see ATR message).
		 */
        public
        boolean isDrawTraceLines() {
            return
         DrawTraceLines;
        }
        

        
        /**
        
			It informs if sending of all GB synchronous messages is
			enabled or disabled.
		 */
        protected
         boolean SynchronousOff = 
        	false;
        
        
        /**
        
			It informs if sending of all GB synchronous messages is
			enabled or disabled.
		 */
        public
        boolean isSynchronousOff() {
            return
         SynchronousOff;
        }
        

        
        /**
        
			It enables/disables automatic pickup of the bot. If true the items can be picked up through PICK command.
		 */
        protected
         boolean AutoPickupOff = 
        	false;
        
        
        /**
        
			It enables/disables automatic pickup of the bot. If true the items can be picked up through PICK command.
		 */
        public
        boolean isAutoPickupOff() {
            return
         AutoPickupOff;
        }
        

        
            /////// 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 ConfigChange(ConfigChange original) {
                
                     this.Id=original.Id;
                
                     this.ManualSpawn=original.ManualSpawn;
                
                     this.AutoTrace=original.AutoTrace;
                
                     this.Name=original.Name;
                
                     this.SpeedMultiplier=original.SpeedMultiplier;
                
                     this.Invulnerable=original.Invulnerable;
                
                     this.VisionTime=original.VisionTime;
                
                     this.ShowDebug=original.ShowDebug;
                
                     this.ShowFocalPoint=original.ShowFocalPoint;
                
                     this.DrawTraceLines=original.DrawTraceLines;
                
                     this.SynchronousOff=original.SynchronousOff;
                
                     this.AutoPickupOff=original.AutoPickupOff;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public ConfigChange() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "ManualSpawn = " + 
				               String.valueOf(ManualSpawn) + " | " +
				            
				               "AutoTrace = " + 
				               String.valueOf(AutoTrace) + " | " +
				            
				               "Name = " + 
				               String.valueOf(Name) + " | " +
				            
				               "SpeedMultiplier = " + 
				               String.valueOf(SpeedMultiplier) + " | " +
				            
				               "Invulnerable = " + 
				               String.valueOf(Invulnerable) + " | " +
				            
				               "VisionTime = " + 
				               String.valueOf(VisionTime) + " | " +
				            
				               "ShowDebug = " + 
				               String.valueOf(ShowDebug) + " | " +
				            
				               "ShowFocalPoint = " + 
				               String.valueOf(ShowFocalPoint) + " | " +
				            
				               "DrawTraceLines = " + 
				               String.valueOf(DrawTraceLines) + " | " +
				            
				               "SynchronousOff = " + 
				               String.valueOf(SynchronousOff) + " | " +
				            
				               "AutoPickupOff = " + 
				               String.valueOf(AutoPickupOff) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>ManualSpawn</b> : " + 
            String.valueOf(ManualSpawn) + 
            " <br/> " +
             
            "<b>AutoTrace</b> : " + 
            String.valueOf(AutoTrace) + 
            " <br/> " +
             
            "<b>Name</b> : " + 
            String.valueOf(Name) + 
            " <br/> " +
             
            "<b>SpeedMultiplier</b> : " + 
            String.valueOf(SpeedMultiplier) + 
            " <br/> " +
             
            "<b>Invulnerable</b> : " + 
            String.valueOf(Invulnerable) + 
            " <br/> " +
             
            "<b>VisionTime</b> : " + 
            String.valueOf(VisionTime) + 
            " <br/> " +
             
            "<b>ShowDebug</b> : " + 
            String.valueOf(ShowDebug) + 
            " <br/> " +
             
            "<b>ShowFocalPoint</b> : " + 
            String.valueOf(ShowFocalPoint) + 
            " <br/> " +
             
            "<b>DrawTraceLines</b> : " + 
            String.valueOf(DrawTraceLines) + 
            " <br/> " +
             
            "<b>SynchronousOff</b> : " + 
            String.valueOf(SynchronousOff) + 
            " <br/> " +
             
            "<b>AutoPickupOff</b> : " + 
            String.valueOf(AutoPickupOff) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        