
            /**
            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.*;    
                
            
            /**
              
		Send a message to the world or just your team.
	
                          Corresponding GameBots command is 
                          MESSAGE.
                      
             */
            
            public class
            SendMessage extends
        CommandMessage
                        
            {
            
            
            
            /**
              Creates new instance of command SendMessage.
              
		Send a message to the world or just your team.
	Corresponding GameBots message for this command is 
              MESSAGE.
                  @param Id Here we can specify Id of the bot, that will receive this message privately (with "Private:" string at the beginning of the message). Doesn't work for players (but if text bubble enabled, players will see this message above the bot head).
                  @param Text Text to send.
                  @param Global 
			If True it is sent to everyone. Otherwise (or if not
			specified), just your team.
		
                  @param FadeOut Enables text bubble. Sets how long the bubble should stay (in seconds, counted ~ 12 + FadeOut seconds - dunno why, some UT mechanics?). If -1 the bubble won't be shown.
              */
             public SendMessage(
                UnrealId Id,  String Text,  boolean Global,  double FadeOut) {
                    
                    this.Id = Id;
                
                    this.Text = Text;
                
                    this.Global = Global;
                
                    this.FadeOut = FadeOut;
                
                }
               
            
            		/**
		             Creates new instance of command SendMessage.
		             
		Send a message to the world or just your team.
	Corresponding GameBots message for this command is 
		             MESSAGE.
		             <p></p>WARNING: this is empty-command constructor, you have to use setters to fill it up!
		             */
            		public  SendMessage() {
            		}
            	
            
            /////// Properties BEGIN
            
        /**
        Here we can specify Id of the bot, that will receive this message privately (with "Private:" string at the beginning of the message). Doesn't work for players (but if text bubble enabled, players will see this message above the bot head). */
        protected
         UnrealId Id = 
        	null;
        
        
        /**
        Here we can specify Id of the bot, that will receive this message privately (with "Private:" string at the beginning of the message). Doesn't work for players (but if text bubble enabled, players will see this message above the bot head). */
        public
        UnrealId getId() {
            return
         Id;
        }
        

        
            /**         
        Here we can specify Id of the bot, that will receive this message privately (with "Private:" string at the beginning of the message). Doesn't work for players (but if text bubble enabled, players will see this message above the bot head). */
        public SendMessage setId(UnrealId Id) {
            this.Id = Id;
            return this;
            }
       
        /**
        Text to send. */
        protected
         String Text = 
        	null;
        
        
        /**
        Text to send. */
        public
        String getText() {
            return
         Text;
        }
        

        
            /**         
        Text to send. */
        public SendMessage setText(String Text) {
            this.Text = Text;
            return this;
            }
       
        /**
        
			If True it is sent to everyone. Otherwise (or if not
			specified), just your team.
		 */
        protected
         boolean Global = 
        	false;
        
        
        /**
        
			If True it is sent to everyone. Otherwise (or if not
			specified), just your team.
		 */
        public
        boolean isGlobal() {
            return
         Global;
        }
        

        
            /**         
        
			If True it is sent to everyone. Otherwise (or if not
			specified), just your team.
		 */
        public SendMessage setGlobal(boolean Global) {
            this.Global = Global;
            return this;
            }
       
        /**
        Enables text bubble. Sets how long the bubble should stay (in seconds, counted ~ 12 + FadeOut seconds - dunno why, some UT mechanics?). If -1 the bubble won't be shown. */
        protected
         double FadeOut = 
        	0;
        
        
        /**
        Enables text bubble. Sets how long the bubble should stay (in seconds, counted ~ 12 + FadeOut seconds - dunno why, some UT mechanics?). If -1 the bubble won't be shown. */
        public
        double getFadeOut() {
            return
         FadeOut;
        }
        

        
            /**         
        Enables text bubble. Sets how long the bubble should stay (in seconds, counted ~ 12 + FadeOut seconds - dunno why, some UT mechanics?). If -1 the bubble won't be shown. */
        public SendMessage setFadeOut(double FadeOut) {
            this.FadeOut = FadeOut;
            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 SendMessage(SendMessage original) {
                
                     this.Id=original.Id;
                
                     this.Text=original.Text;
                
                     this.Global=original.Global;
                
                     this.FadeOut=original.FadeOut;
                
             }   
             
             
                
                 
            public String toString() {
                return
                
                    	super.toString();
                     
             }
             
             public String toHtmlString() {
                return super.toString() +
             
            "<b>Id</b> : " + 
            String.valueOf(Id) + 
            " <br/> " +
             
            "<b>Text</b> : " + 
            String.valueOf(Text) + 
            " <br/> " +
             
            "<b>Global</b> : " + 
            String.valueOf(Global) + 
            " <br/> " +
             
            "<b>FadeOut</b> : " + 
            String.valueOf(FadeOut) + 
            " <br/> " +
             "";
             }            
             
             
             
                 public String toMessage() {
              		StringBuffer buf = new StringBuffer();
              		buf.append("MESSAGE");
              		
		    					if (Id != null) {
		    						buf.append(" {Id " + Id.getUnrealId() + "}");
		    					}
		    				
		    					if (Text != null) {
		    						buf.append(" {Text " + Text + "}");
		    					}
		    				
		    					buf.append(" {Global " + Global + "}");
		    				
		    					buf.append(" {FadeOut " + FadeOut + "}");
		    				            
            		return buf.toString();
            }
             
             }
                         
        