
            /**
            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.*;    
                
            
            /**
              
		Commands player's character to perform some action.
	
                          Corresponding GameBots command is 
                          COMPLR.
                      
             */
            
            public class
            CommandPlayer extends
        CommandMessage
                        
            {
            
            
            
            /**
              Creates new instance of command CommandPlayer.
              
		Commands player's character to perform some action.
	Corresponding GameBots message for this command is 
              COMPLR.
                  @param Player Name of the affected player.
                  @param Command Available: MOVE, TURNTO.
                  @param Location Applicable for: MOVE, TURNTO.
                  @param FocusLocation Applicable for: MOVE.
                  @param Walk Applicable for: MOVE. If the character should walk instead of run.
                  @param Rotation Applicable for: TURNTO.
              */
             public CommandPlayer(
                String Player,  String Command,  Location Location,  Location FocusLocation,  Boolean Walk,  Rotation Rotation) {
                    
                    this.Player = Player;
                
                    this.Command = Command;
                
                    this.Location = Location;
                
                    this.FocusLocation = FocusLocation;
                
                    this.Walk = Walk;
                
                    this.Rotation = Rotation;
                
                }
               
            
            		/**
		             Creates new instance of command CommandPlayer.
		             
		Commands player's character to perform some action.
	Corresponding GameBots message for this command is 
		             COMPLR.
		             <p></p>WARNING: this is empty-command constructor, you have to use setters to fill it up!
		             */
            		public  CommandPlayer() {
            		}
            	
            
            /////// Properties BEGIN
            
        /**
        Name of the affected player. */
        protected
         String Player = 
        	null;
        
        
        /**
        Name of the affected player. */
        public
        String getPlayer() {
            return
         Player;
        }
        

        
            /**         
        Name of the affected player. */
        public CommandPlayer setPlayer(String Player) {
            this.Player = Player;
            return this;
            }
       
        /**
        Available: MOVE, TURNTO. */
        protected
         String Command = 
        	null;
        
        
        /**
        Available: MOVE, TURNTO. */
        public
        String getCommand() {
            return
         Command;
        }
        

        
            /**         
        Available: MOVE, TURNTO. */
        public CommandPlayer setCommand(String Command) {
            this.Command = Command;
            return this;
            }
       
        /**
        Applicable for: MOVE, TURNTO. */
        protected
         Location Location = 
        	null;
        
        
        /**
        Applicable for: MOVE, TURNTO. */
        public
        Location getLocation() {
            return
         Location;
        }
        

        
            /**         
        Applicable for: MOVE, TURNTO. */
        public CommandPlayer setLocation(Location Location) {
            this.Location = Location;
            return this;
            }
       
        /**
        Applicable for: MOVE. */
        protected
         Location FocusLocation = 
        	null;
        
        
        /**
        Applicable for: MOVE. */
        public
        Location getFocusLocation() {
            return
         FocusLocation;
        }
        

        
            /**         
        Applicable for: MOVE. */
        public CommandPlayer setFocusLocation(Location FocusLocation) {
            this.FocusLocation = FocusLocation;
            return this;
            }
       
        /**
        Applicable for: MOVE. If the character should walk instead of run. */
        protected
         Boolean Walk = 
        	null;
        
        
        /**
        Applicable for: MOVE. If the character should walk instead of run. */
        public
        Boolean isWalk() {
            return
         Walk;
        }
        

        
            /**         
        Applicable for: MOVE. If the character should walk instead of run. */
        public CommandPlayer setWalk(Boolean Walk) {
            this.Walk = Walk;
            return this;
            }
       
        /**
        Applicable for: TURNTO. */
        protected
         Rotation Rotation = 
        	null;
        
        
        /**
        Applicable for: TURNTO. */
        public
        Rotation getRotation() {
            return
         Rotation;
        }
        

        
            /**         
        Applicable for: TURNTO. */
        public CommandPlayer setRotation(Rotation Rotation) {
            this.Rotation = Rotation;
            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 CommandPlayer(CommandPlayer original) {
                
                     this.Player=original.Player;
                
                     this.Command=original.Command;
                
                     this.Location=original.Location;
                
                     this.FocusLocation=original.FocusLocation;
                
                     this.Walk=original.Walk;
                
                     this.Rotation=original.Rotation;
                
             }   
             
             
                
                 
            public String toString() {
                return
                
                    	super.toString();
                     
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Player</b> : " + 
            String.valueOf(Player) + 
            " <br/> " +
             
            "<b>Command</b> : " + 
            String.valueOf(Command) + 
            " <br/> " +
             
            "<b>Location</b> : " + 
            String.valueOf(Location) + 
            " <br/> " +
             
            "<b>FocusLocation</b> : " + 
            String.valueOf(FocusLocation) + 
            " <br/> " +
             
            "<b>Walk</b> : " + 
            String.valueOf(Walk) + 
            " <br/> " +
             
            "<b>Rotation</b> : " + 
            String.valueOf(Rotation) + 
            " <br/> " +
             "";
             }            
             
             
             
                 public String toMessage() {
              		StringBuffer buf = new StringBuffer();
              		buf.append("COMPLR");
              		
		    					if (Player != null) {
		    						buf.append(" {Player " + Player + "}");
		    					}
		    				
		    					if (Command != null) {
		    						buf.append(" {Command " + Command + "}");
		    					}
		    				
                                if (Location != null) {
                                    buf.append(" {Location " + 
                                        Location.getX() + "," + 
                                        Location.getY() + "," + 
                                        Location.getZ() + "}");
                                }
                            
                                if (FocusLocation != null) {
                                    buf.append(" {FocusLocation " + 
                                        FocusLocation.getX() + "," + 
                                        FocusLocation.getY() + "," + 
                                        FocusLocation.getZ() + "}");
                                }
                            
		    					if (Walk != null) {
		    						buf.append(" {Walk " + Walk + "}");
		    					}    
		    				
                                if (Rotation != null) {
                                    buf.append(" {Rotation Y" + 
                                        Rotation.getYaw() + ",R" + 
                                        Rotation.getRoll() + ",P" + 
                                        Rotation.getPitch() + "}");
                                }
                                        
            		return buf.toString();
            }
             
             }
                         
        