
            /**
            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.*;    
                
            
            /**
              
		Aynchronous message. When the player has our bot selected by mouse cursor, he can provide the bot with key input (keys 0 - 9 represented by int 0-9 and key T represented by 10). If the player has some dialog on the HUD, Id of the dialog will be sent (if any).
	
                          Corresponding GameBots message is 
                          PLI.
                      
             */
            
            public class
            PlayerInput
                    extends GBEvent
                
	            	implements IWorldEvent
                        
            {
            
            
            
    	/** Example how the message looks like - used during parser tests. */
    	public static final String PROTOTYPE = 
    		"PLI {Id unreal_id} {DialogId text} {Key 0}";
    
            
            /////// Properties BEGIN
            
        /**
        
			Id of the player that sent the input.
		 */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        
			Id of the player that sent the input.
		 */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
        /**
        
			An Id of the dialog (if set any) that the player has visible on the HUD. This attribute won't be sent at all if DialogId is "" or if no dialog on player HUD.
		 */
        protected
         String DialogId = 
        	null;
        
        
        /**
        
			An Id of the dialog (if set any) that the player has visible on the HUD. This attribute won't be sent at all if DialogId is "" or if no dialog on player HUD.
		 */
        public
        String getDialogId() {
            return
         DialogId;
        }
        

        
        /**
        
			Which key was pressed. Supported keys: 0 - 9 represented by int 0-9 and key T represented by 10/
		 */
        protected
         int Key = 
        	0;
        
        
        /**
        
			Which key was pressed. Supported keys: 0 - 9 represented by int 0-9 and key T represented by 10/
		 */
        public
        int getKey() {
            return
         Key;
        }
        

        
            /////// 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 PlayerInput(PlayerInput original) {
                
                     this.Id=original.Id;
                
                     this.DialogId=original.DialogId;
                
                     this.Key=original.Key;
                
             }   
             
             
                 /**
                  * Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
                  */
	             public PlayerInput() {
	             }
             
                
                 
            public String toString() {
                return
                
                		super.toString() + " | " +
                		
				               "Id = " + 
				               String.valueOf(Id) + " | " +
				            
				               "DialogId = " + 
				               String.valueOf(DialogId) + " | " +
				            
				               "Key = " + 
				               String.valueOf(Key) + " | " +
				             "";
                	 
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>DialogId</b> : " + 
            String.valueOf(DialogId) + 
            " <br/> " +
             
            "<b>Key</b> : " + 
            String.valueOf(Key) + 
            " <br/> " +
             "";
             }            
             
             
             
             }
                         
        