
            /**
            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.*;    
                
            
            /**
              
		Will add original epic bot to a game. May have issues with team
		balancing.
	
                          Corresponding GameBots command is 
                          ADDBOT.
                      
             */
            
            public class
            AddBot extends
        CommandMessage
                        
            {
            
            
            
            /**
              Creates new instance of command AddBot.
              
		Will add original epic bot to a game. May have issues with team
		balancing.
	Corresponding GameBots message for this command is 
              ADDBOT.
                  @param Name Optional name of the bot.
                  @param StartLocation 
			Optional start location of the bot.
		
                  @param StartRotation 
			Optional start rotation of the bot.
		
                  @param Skill 
			Skill of the bot - from 1 to 7 (best).
		
                  @param Type 
			The class of the added bot - optional.
		
              */
             public AddBot(
                String Name,  Location StartLocation,  Rotation StartRotation,  int Skill,  String Type) {
                    
                    this.Name = Name;
                
                    this.StartLocation = StartLocation;
                
                    this.StartRotation = StartRotation;
                
                    this.Skill = Skill;
                
                    this.Type = Type;
                
                }
               
            
            		/**
		             Creates new instance of command AddBot.
		             
		Will add original epic bot to a game. May have issues with team
		balancing.
	Corresponding GameBots message for this command is 
		             ADDBOT.
		             <p></p>WARNING: this is empty-command constructor, you have to use setters to fill it up!
		             */
            		public  AddBot() {
            		}
            	
            
            /////// Properties BEGIN
            
        /**
        Optional name of the bot. */
        protected
         String Name = 
        	null;
        
        
        /**
        Optional name of the bot. */
        public
        String getName() {
            return
         Name;
        }
        

        
            /**         
        Optional name of the bot. */
        public AddBot setName(String Name) {
            this.Name = Name;
            return this;
            }
       
        /**
        
			Optional start location of the bot.
		 */
        protected
         Location StartLocation = 
        	null;
        
        
        /**
        
			Optional start location of the bot.
		 */
        public
        Location getStartLocation() {
            return
         StartLocation;
        }
        

        
            /**         
        
			Optional start location of the bot.
		 */
        public AddBot setStartLocation(Location StartLocation) {
            this.StartLocation = StartLocation;
            return this;
            }
       
        /**
        
			Optional start rotation of the bot.
		 */
        protected
         Rotation StartRotation = 
        	null;
        
        
        /**
        
			Optional start rotation of the bot.
		 */
        public
        Rotation getStartRotation() {
            return
         StartRotation;
        }
        

        
            /**         
        
			Optional start rotation of the bot.
		 */
        public AddBot setStartRotation(Rotation StartRotation) {
            this.StartRotation = StartRotation;
            return this;
            }
       
        /**
        
			Skill of the bot - from 1 to 7 (best).
		 */
        protected
         int Skill = 
        	3;
        
        
        /**
        
			Skill of the bot - from 1 to 7 (best).
		 */
        public
        int getSkill() {
            return
         Skill;
        }
        

        
            /**         
        
			Skill of the bot - from 1 to 7 (best).
		 */
        public AddBot setSkill(int Skill) {
            this.Skill = Skill;
            return this;
            }
       
        /**
        
			The class of the added bot - optional.
		 */
        protected
         String Type = 
        	null;
        
        
        /**
        
			The class of the added bot - optional.
		 */
        public
        String getType() {
            return
         Type;
        }
        

        
            /**         
        
			The class of the added bot - optional.
		 */
        public AddBot setType(String Type) {
            this.Type = Type;
            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 AddBot(AddBot original) {
                
                     this.Name=original.Name;
                
                     this.StartLocation=original.StartLocation;
                
                     this.StartRotation=original.StartRotation;
                
                     this.Skill=original.Skill;
                
                     this.Type=original.Type;
                
             }   
             
             
                
                 
            public String toString() {
                return
                
                    	super.toString();
                     
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Name</b> : " + 
            String.valueOf(Name) + 
            " <br/> " +
             
            "<b>StartLocation</b> : " + 
            String.valueOf(StartLocation) + 
            " <br/> " +
             
            "<b>StartRotation</b> : " + 
            String.valueOf(StartRotation) + 
            " <br/> " +
             
            "<b>Skill</b> : " + 
            String.valueOf(Skill) + 
            " <br/> " +
             
            "<b>Type</b> : " + 
            String.valueOf(Type) + 
            " <br/> " +
             "";
             }            
             
             
             
                 public String toMessage() {
              		StringBuffer buf = new StringBuffer();
              		buf.append("ADDBOT");
              		
		    					if (Name != null) {
		    						buf.append(" {Name " + Name + "}");
		    					}
		    				
                                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() + "}");
                                }
                            
		    					buf.append(" {Skill " + Skill + "}");
		    				
		    					if (Type != null) {
		    						buf.append(" {Type " + Type + "}");
		    					}
		    				            
            		return buf.toString();
            }
             
             }
                         
        