aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tools/pCampBot/BotManager.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Tools/pCampBot/BotManager.cs30
1 files changed, 25 insertions, 5 deletions
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d2b7ded..b05bd6d 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -93,6 +93,11 @@ namespace pCampBot
93 "Shutdown bots and exit", 93 "Shutdown bots and exit",
94 HandleShutdown); 94 HandleShutdown);
95 95
96 m_console.Commands.AddCommand("bot", false, "show status",
97 "show status",
98 "Shows the status of all bots",
99 HandleShowStatus);
100
96// m_console.Commands.AddCommand("bot", false, "add bots", 101// m_console.Commands.AddCommand("bot", false, "add bots",
97// "add bots <number>", 102// "add bots <number>",
98// "Add more bots", HandleAddBots); 103// "Add more bots", HandleAddBots);
@@ -157,7 +162,8 @@ namespace pCampBot
157 pb.OnConnected += handlebotEvent; 162 pb.OnConnected += handlebotEvent;
158 pb.OnDisconnected += handlebotEvent; 163 pb.OnDisconnected += handlebotEvent;
159 164
160 m_lBot.Add(pb); 165 lock (m_lBot)
166 m_lBot.Add(pb);
161 167
162 Thread pbThread = new Thread(pb.startup); 168 Thread pbThread = new Thread(pb.startup);
163 pbThread.Name = pb.Name; 169 pbThread.Name = pb.Name;
@@ -194,10 +200,9 @@ namespace pCampBot
194 /// </summary> 200 /// </summary>
195 public void doBotShutdown() 201 public void doBotShutdown()
196 { 202 {
197 foreach (PhysicsBot pb in m_lBot) 203 lock (m_lBot)
198 { 204 foreach (PhysicsBot pb in m_lBot)
199 pb.shutdown(); 205 pb.shutdown();
200 }
201 } 206 }
202 207
203 /// <summary> 208 /// <summary>
@@ -215,6 +220,21 @@ namespace pCampBot
215 doBotShutdown(); 220 doBotShutdown();
216 } 221 }
217 222
223 private void HandleShowStatus(string module, string[] cmd)
224 {
225 string outputFormat = "{0,-30} {1,-14}";
226 MainConsole.Instance.OutputFormat(outputFormat, "Name", "Status");
227
228 lock (m_lBot)
229 {
230 foreach (PhysicsBot pb in m_lBot)
231 {
232 MainConsole.Instance.OutputFormat(
233 outputFormat, pb.Name, (pb.IsConnected ? "Connected" : "Disconnected"));
234 }
235 }
236 }
237
218 /* 238 /*
219 private void HandleQuit(string module, string[] cmd) 239 private void HandleQuit(string module, string[] cmd)
220 { 240 {