diff options
Diffstat (limited to 'ExportBot/Commands/TreeCommand.cs')
-rw-r--r-- | ExportBot/Commands/TreeCommand.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/ExportBot/Commands/TreeCommand.cs b/ExportBot/Commands/TreeCommand.cs new file mode 100644 index 0000000..2029e37 --- /dev/null +++ b/ExportBot/Commands/TreeCommand.cs | |||
@@ -0,0 +1,51 @@ | |||
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 TreeCommand: Command | ||
10 | { | ||
11 | public TreeCommand(TestClient testClient) | ||
12 | { | ||
13 | Name = "tree"; | ||
14 | Description = "Rez a tree."; | ||
15 | } | ||
16 | |||
17 | public override string Execute(string[] args, LLUUID fromAgentID) | ||
18 | { | ||
19 | if (args.Length == 1) | ||
20 | { | ||
21 | try | ||
22 | { | ||
23 | string treeName = args[0].Trim(new char[] { ' ' }); | ||
24 | ObjectManager.Tree tree = (ObjectManager.Tree)Enum.Parse(typeof(ObjectManager.Tree), treeName); | ||
25 | |||
26 | LLVector3 treePosition = new LLVector3(Client.Self.Position.X, Client.Self.Position.Y, | ||
27 | Client.Self.Position.Z); | ||
28 | treePosition.Z += 3.0f; | ||
29 | |||
30 | Client.Objects.AddTree(Client.Network.CurrentSim, new LLVector3(0.5f, 0.5f, 0.5f), | ||
31 | LLQuaternion.Identity, treePosition, tree, Client.GroupID, false); | ||
32 | |||
33 | return "Attempted to rez a " + treeName + " tree"; | ||
34 | } | ||
35 | catch (Exception) | ||
36 | { | ||
37 | return "Type !tree for usage"; | ||
38 | } | ||
39 | } | ||
40 | |||
41 | string usage = "Usage: !tree ["; | ||
42 | foreach (string value in Enum.GetNames(typeof(ObjectManager.Tree))) | ||
43 | { | ||
44 | usage += value + ","; | ||
45 | } | ||
46 | usage = usage.TrimEnd(new char[] { ',' }); | ||
47 | usage += "]"; | ||
48 | return usage; | ||
49 | } | ||
50 | } | ||
51 | } | ||