diff options
author | Adam Frisby | 2007-06-21 17:08:21 +0000 |
---|---|---|
committer | Adam Frisby | 2007-06-21 17:08:21 +0000 |
commit | e93869c7a785a4f375685ffa33c913033ed1c85a (patch) | |
tree | abb5e2c58f8750a1bc05acf58716b6b025da4d15 /tools/mass test client/Commands/Movement/GotoCommand.cs | |
parent | Fixed the struct and null compare bug. (diff) | |
download | opensim-SC-e93869c7a785a4f375685ffa33c913033ed1c85a.zip opensim-SC-e93869c7a785a4f375685ffa33c913033ed1c85a.tar.gz opensim-SC-e93869c7a785a4f375685ffa33c913033ed1c85a.tar.bz2 opensim-SC-e93869c7a785a4f375685ffa33c913033ed1c85a.tar.xz |
* Importing Ming's mass test client
Diffstat (limited to '')
-rw-r--r-- | tools/mass test client/Commands/Movement/GotoCommand.cs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tools/mass test client/Commands/Movement/GotoCommand.cs b/tools/mass test client/Commands/Movement/GotoCommand.cs new file mode 100644 index 0000000..fbbc2ec --- /dev/null +++ b/tools/mass test client/Commands/Movement/GotoCommand.cs | |||
@@ -0,0 +1,53 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | using libsecondlife.Packets; | ||
6 | |||
7 | namespace libsecondlife.TestClient | ||
8 | { | ||
9 | public class GotoCommand: Command | ||
10 | { | ||
11 | public GotoCommand(TestClient testClient) | ||
12 | { | ||
13 | Name = "goto"; | ||
14 | Description = "Teleport to a location (e.g. \"goto Hooper/100/100/30\")"; | ||
15 | } | ||
16 | |||
17 | public override string Execute(string[] args, LLUUID fromAgentID) | ||
18 | { | ||
19 | if (args.Length < 1) | ||
20 | return "usage: Destination should be specified as sim/x/y/z"; | ||
21 | |||
22 | string destination = String.Empty; | ||
23 | |||
24 | // Handle multi-word sim names by combining the arguments | ||
25 | foreach (string arg in args) | ||
26 | { | ||
27 | destination += arg + " "; | ||
28 | } | ||
29 | destination = destination.Trim(); | ||
30 | |||
31 | string[] tokens = destination.Split(new char[] { '/' }); | ||
32 | if (tokens.Length != 4) | ||
33 | return "usage: Destination should be specified as sim/x/y/z"; | ||
34 | |||
35 | string sim = tokens[0]; | ||
36 | float x = Client.Self.Position.X; | ||
37 | float y = Client.Self.Position.Y; | ||
38 | float z = Client.Self.Position.Z; | ||
39 | float.TryParse(tokens[1], out x); | ||
40 | float.TryParse(tokens[2], out y); | ||
41 | float.TryParse(tokens[3], out z); | ||
42 | |||
43 | if (Client.Self.Teleport(sim, new LLVector3(x, y, z))) | ||
44 | { | ||
45 | return "Teleported to " + Client.Network.CurrentSim; | ||
46 | } | ||
47 | else | ||
48 | { | ||
49 | return "Teleport failed: " + Client.Self.TeleportMessage; | ||
50 | } | ||
51 | } | ||
52 | } | ||
53 | } | ||