corrade-vassal – Blame information for rev 1

Subversion Repositories:
Rev:
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 }