/*
** j###t ########## #### ####
** j###t ########## #### ####
** j###T "###L J###"
** ######P' ########## #########
** ######k, ########## T######T
** ####~###L ####
** #### q###L ########## .#####
** #### \###L ########## #####"
*/
package key.commands;
import key.*;
import java.io.IOException;
import java.util.StringTokenizer;
public class Mode extends Command
{
public Mode()
{
usage = "[<a prefix to your every typed command>]";
}
public void run( Player p, StringTokenizer args, String fullLine, CategoryCommand caller, InteractiveConnection ic, Flags flags ) throws IOException
{
String mode = null;
if( args.hasMoreTokens() )
{
//prompt = args.nextToken( "" );
// this allows leading & trailing spaces in prompts
mode = fullLine.substring( fullLine.indexOf( ' ' ) + 1 );
if( mode.length() > Player.MAX_MODE_LENGTH )
{
ic.sendFeedback( "That is too long to be set as a mode. Please limit your mode to " + Player.MAX_MODE_LENGTH + " characters." );
return;
}
if( !mode.endsWith( " " ) )
{
ic.sendFeedback( "Warning: Your mode does not end with a space. You'll probably want to start out each line by typing a space first." );
}
p.setProperty( "mode", mode );
ic.sendFeedback( "You change your mode so that '" + mode + "' is prepended to every line you type." );
}
else
{
ic.sendFeedback( "This command is used to save you typing the same thing over and over. For instance, if you're setting up a lot for a particular exit, you might use 'mode exit track ' and then you can type your commands as if you'd already typed those three words at the start of each line. Try it, you'll work it out. Enter a blank line to clear your mode." );
}
}
}