
            /**
            IMPORTANT !!!
       
            DO NOT EDIT THIS FILE. IT IS GENERATED FROM approriate xml file in xmlresources/gbcommands BY
            THE JavaClassesGenerator.xslt. MODIFY THESE FILES INSTEAD OF THIS ONE.
       
            IMPORTANT END !!!
            */
            package
            cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands;
	    		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.*;    
                
            
            /**
              
		Use this to kill bot and force him to respawn, you can specify
		start location and rotation. Work also for human players and
		spectators in the game. This command can be issued also by bot
		on the bot itself (in this case Id attribute is not parsed).
	
                          Corresponding GameBots command is 
                          RESPAWN.
                      
             */
            
            public class
            Respawn extends
        CommandMessage
                        
            {
            
            
            
            /**
              Creates new instance of command Respawn.
              
		Use this to kill bot and force him to respawn, you can specify
		start location and rotation. Work also for human players and
		spectators in the game. This command can be issued also by bot
		on the bot itself (in this case Id attribute is not parsed).
	Corresponding GameBots message for this command is 
              RESPAWN.
                  @param Id 
			Id of the bot to be respawned (not used if command sent to
			bot).
		
                  @param StartLocation 
			Where bot respawns. If you want to respawn bot at random,
			don't specify StartLocation.
		
                  @param StartRotation Initial rotation of the bot.
              */
             public Respawn(
                UnrealId Id,  Location StartLocation,  Rotation StartRotation) {
                    
                    this.Id = Id;
                
                    this.StartLocation = StartLocation;
                
                    this.StartRotation = StartRotation;
                
                }
               
            
            		/**
		             Creates new instance of command Respawn.
		             
		Use this to kill bot and force him to respawn, you can specify
		start location and rotation. Work also for human players and
		spectators in the game. This command can be issued also by bot
		on the bot itself (in this case Id attribute is not parsed).
	Corresponding GameBots message for this command is 
		             RESPAWN.
		             <p></p>WARNING: this is empty-command constructor, you have to use setters to fill it up!
		             */
            		public  Respawn() {
            		}
            	
            
            /////// Properties BEGIN
            
        /**
        
			Id of the bot to be respawned (not used if command sent to
			bot).
		 */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        
			Id of the bot to be respawned (not used if command sent to
			bot).
		 */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
            /**         
        
			Id of the bot to be respawned (not used if command sent to
			bot).
		 */
        public Respawn setId(UnrealId Id) {
            this.Id = Id;
            return this;
            }
       
        /**
        
			Where bot respawns. If you want to respawn bot at random,
			don't specify StartLocation.
		 */
        protected
         Location StartLocation = 
        	null;
        
        
        /**
        
			Where bot respawns. If you want to respawn bot at random,
			don't specify StartLocation.
		 */
        public
        Location getStartLocation() {
            return
         StartLocation;
        }
        

        
            /**         
        
			Where bot respawns. If you want to respawn bot at random,
			don't specify StartLocation.
		 */
        public Respawn setStartLocation(Location StartLocation) {
            this.StartLocation = StartLocation;
            return this;
            }
       
        /**
        Initial rotation of the bot. */
        protected
         Rotation StartRotation = 
        	null;
        
        
        /**
        Initial rotation of the bot. */
        public
        Rotation getStartRotation() {
            return
         StartRotation;
        }
        

        
            /**         
        Initial rotation of the bot. */
        public Respawn setStartRotation(Rotation StartRotation) {
            this.StartRotation = StartRotation;
            return this;
            }
       
            /////// 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 Respawn(Respawn original) {
                
                     this.Id=original.Id;
                
                     this.StartLocation=original.StartLocation;
                
                     this.StartRotation=original.StartRotation;
                
             }   
             
             
                
                 
            public String toString() {
                return
                
                    	super.toString();
                     
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>StartLocation</b> : " + 
            String.valueOf(StartLocation) + 
            " <br/> " +
             
            "<b>StartRotation</b> : " + 
            String.valueOf(StartRotation) + 
            " <br/> " +
             "";
             }            
             
             
             
                 public String toMessage() {
              		StringBuffer buf = new StringBuffer();
              		buf.append("RESPAWN");
              		
		    					if (Id != null) {
		    						buf.append(" {Id " + Id.getUnrealId() + "}");
		    					}
		    				
                                if (StartLocation != null) {
                                    buf.append(" {StartLocation " + 
                                        StartLocation.getX() + "," + 
                                        StartLocation.getY() + "," + 
                                        StartLocation.getZ() + "}");
                                }
                            
                                if (StartRotation != null) {
                                    buf.append(" {StartRotation Y" + 
                                        StartRotation.getYaw() + ",R" + 
                                        StartRotation.getRoll() + ",P" + 
                                        StartRotation.getPitch() + "}");
                                }
                                        
            		return buf.toString();
            }
             
             }
                         
        