corrade-vassal – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | vero | 1 | using System; |
2 | using OpenMetaverse; |
||
3 | using OpenMetaverse.Packets; |
||
4 | |||
5 | namespace OpenMetaverse.TestClient |
||
6 | { |
||
7 | public class SleepCommand : Command |
||
8 | { |
||
9 | uint sleepSerialNum = 1; |
||
10 | |||
11 | public SleepCommand(TestClient testClient) |
||
12 | { |
||
13 | Name = "sleep"; |
||
14 | Description = "Uses AgentPause/AgentResume and sleeps for a given number of seconds. Usage: sleep [seconds]"; |
||
15 | Category = CommandCategory.TestClient; |
||
16 | } |
||
17 | |||
18 | public override string Execute(string[] args, UUID fromAgentID) |
||
19 | { |
||
20 | int seconds; |
||
21 | if (args.Length != 1 || !Int32.TryParse(args[0], out seconds)) |
||
22 | return "Usage: sleep [seconds]"; |
||
23 | |||
24 | AgentPausePacket pause = new AgentPausePacket(); |
||
25 | pause.AgentData.AgentID = Client.Self.AgentID; |
||
26 | pause.AgentData.SessionID = Client.Self.SessionID; |
||
27 | pause.AgentData.SerialNum = sleepSerialNum++; |
||
28 | |||
29 | Client.Network.SendPacket(pause); |
||
30 | |||
31 | // Sleep |
||
32 | System.Threading.Thread.Sleep(seconds * 1000); |
||
33 | |||
34 | AgentResumePacket resume = new AgentResumePacket(); |
||
35 | resume.AgentData.AgentID = Client.Self.AgentID; |
||
36 | resume.AgentData.SessionID = Client.Self.SessionID; |
||
37 | resume.AgentData.SerialNum = pause.AgentData.SerialNum; |
||
38 | |||
39 | Client.Network.SendPacket(resume); |
||
40 | |||
41 | return "Paused, slept for " + seconds + " second(s), and resumed"; |
||
42 | } |
||
43 | } |
||
44 | } |