Thank you Dan Lake, for patches to TestClient:

* Login command now supports starting location
* Added comment character for script files (either ; or # may be used as first non-whitespace on a line)
* Shout and whisper commands no longer encode extra whitespace to end of messages
* Modified say command to the same format as whisper and shout commands

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2438 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2009-02-17 18:29:00 +00:00
parent cd2b4d6deb
commit 471c99e458
4 changed files with 40 additions and 16 deletions

View File

@@ -162,7 +162,19 @@ namespace OpenMetaverse.TestClient
account.Password = args[2];
if (args.Length > 3)
account.StartLocation = NetworkManager.StartLocation(args[3], 128, 128, 40);
{
// If it looks like a full starting position was specified, parse it
if( args[3].IndexOf('/') >= 0 )
{
char sep = '/';
string[] startbits = args[3].Split(sep);
account.StartLocation = NetworkManager.StartLocation(startbits[0], Int32.Parse(startbits[1]),
Int32.Parse(startbits[2]), Int32.Parse(startbits[3]));
}
// Otherwise, use the center of the named region
else
account.StartLocation = NetworkManager.StartLocation(args[3], 128, 128, 40);
}
if (args.Length > 4)
if(args[4].StartsWith("http://"))
@@ -224,6 +236,10 @@ namespace OpenMetaverse.TestClient
if (String.IsNullOrEmpty(firstToken))
return;
// Allow for comments when cmdline begins with ';' or '#'
if (firstToken[0] == ';' || firstToken[0] == '#')
return;
string[] args = new string[tokens.Length - 1];
if (args.Length > 0)
Array.Copy(tokens, 1, args, 0, args.Length);

View File

@@ -8,17 +8,17 @@ namespace OpenMetaverse.TestClient
public class SayCommand: Command
{
public SayCommand(TestClient testClient)
{
Name = "say";
Description = "Say something. (usage: say (optional channel) whatever)";
{
Name = "say";
Description = "Say something. (usage: say (optional channel) whatever)";
Category = CommandCategory.Communication;
}
}
public override string Execute(string[] args, UUID fromAgentID)
{
{
int channel = 0;
int startIndex = 0;
if (args.Length < 1)
{
return "usage: say (optional channel) whatever";
@@ -26,20 +26,22 @@ namespace OpenMetaverse.TestClient
else if (args.Length > 1)
{
if (Int32.TryParse(args[0], out channel))
startIndex = 1;
startIndex = 1;
}
StringBuilder message = new StringBuilder();
String message = String.Empty;
for (int i = startIndex; i < args.Length; i++)
for (int i = startIndex; i < args.Length; i++)
{
message.Append(args[i]);
if (i != args.Length - 1) message.Append(" ");
// Append a space before the next arg
if( i > 0 )
message += " ";
message += args[i];
}
Client.Self.Chat(message.ToString(), channel, ChatType.Normal);
Client.Self.Chat(message, channel, ChatType.Normal);
return "Said " + message.ToString();
}
}
}
}

View File

@@ -39,7 +39,10 @@ namespace OpenMetaverse.TestClient
for (int i = startIndex; i < args.Length; i++)
{
message += args[i] + " ";
// Append a space before the next arg
if( i > 0 )
message += " ";
message += args[i];
}
Client.Self.Chat(message, channel, ChatType.Shout);

View File

@@ -39,7 +39,10 @@ namespace OpenMetaverse.TestClient
for (int i = startIndex; i < args.Length; i++)
{
message += args[i] + " ";
// Append a space before the next arg
if( i > 0 )
message += " ";
message += args[i];
}
Client.Self.Chat(message, channel, ChatType.Whisper);