diff options
Diffstat (limited to 'OpenSim/Tools')
-rw-r--r-- | OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs | 43 | ||||
-rw-r--r-- | OpenSim/Tools/pCampBot/BotManager.cs | 30 | ||||
-rw-r--r-- | OpenSim/Tools/pCampBot/pCampBot.cs | 7 |
3 files changed, 70 insertions, 10 deletions
diff --git a/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs new file mode 100644 index 0000000..9cf8a54 --- /dev/null +++ b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs | |||
@@ -0,0 +1,43 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using OpenMetaverse; | ||
29 | using System; | ||
30 | using System.Collections.Generic; | ||
31 | using System.Linq; | ||
32 | using pCampBot.Interfaces; | ||
33 | |||
34 | namespace pCampBot | ||
35 | { | ||
36 | /// <summary> | ||
37 | /// Do nothing | ||
38 | /// </summary> | ||
39 | public class NoneBehaviour : AbstractBehaviour | ||
40 | { | ||
41 | public NoneBehaviour() { Name = "None"; } | ||
42 | } | ||
43 | } \ No newline at end of file | ||
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs index d615b3f..74bd36a 100644 --- a/OpenSim/Tools/pCampBot/BotManager.cs +++ b/OpenSim/Tools/pCampBot/BotManager.cs | |||
@@ -177,18 +177,21 @@ namespace pCampBot | |||
177 | // We must give each bot its own list of instantiated behaviours since they store state. | 177 | // We must give each bot its own list of instantiated behaviours since they store state. |
178 | List<IBehaviour> behaviours = new List<IBehaviour>(); | 178 | List<IBehaviour> behaviours = new List<IBehaviour>(); |
179 | 179 | ||
180 | // Hard-coded for now | 180 | // Hard-coded for now |
181 | if (behaviourSwitches.Contains("p")) | 181 | if (behaviourSwitches.Contains("c")) |
182 | behaviours.Add(new PhysicsBehaviour()); | 182 | behaviours.Add(new CrossBehaviour()); |
183 | 183 | ||
184 | if (behaviourSwitches.Contains("g")) | 184 | if (behaviourSwitches.Contains("g")) |
185 | behaviours.Add(new GrabbingBehaviour()); | 185 | behaviours.Add(new GrabbingBehaviour()); |
186 | |||
187 | if (behaviourSwitches.Contains("n")) | ||
188 | behaviours.Add(new NoneBehaviour()); | ||
189 | |||
190 | if (behaviourSwitches.Contains("p")) | ||
191 | behaviours.Add(new PhysicsBehaviour()); | ||
186 | 192 | ||
187 | if (behaviourSwitches.Contains("t")) | 193 | if (behaviourSwitches.Contains("t")) |
188 | behaviours.Add(new TeleportBehaviour()); | 194 | behaviours.Add(new TeleportBehaviour()); |
189 | |||
190 | if (behaviourSwitches.Contains("c")) | ||
191 | behaviours.Add(new CrossBehaviour()); | ||
192 | 195 | ||
193 | StartBot(this, behaviours, firstName, lastName, password, loginUri); | 196 | StartBot(this, behaviours, firstName, lastName, password, loginUri); |
194 | } | 197 | } |
@@ -327,17 +330,30 @@ namespace pCampBot | |||
327 | string outputFormat = "{0,-30} {1, -30} {2,-14}"; | 330 | string outputFormat = "{0,-30} {1, -30} {2,-14}"; |
328 | MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status"); | 331 | MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status"); |
329 | 332 | ||
333 | Dictionary<ConnectionState, int> totals = new Dictionary<ConnectionState, int>(); | ||
334 | foreach (object o in Enum.GetValues(typeof(ConnectionState))) | ||
335 | totals[(ConnectionState)o] = 0; | ||
336 | |||
330 | lock (m_lBot) | 337 | lock (m_lBot) |
331 | { | 338 | { |
332 | foreach (Bot pb in m_lBot) | 339 | foreach (Bot pb in m_lBot) |
333 | { | 340 | { |
334 | Simulator currentSim = pb.Client.Network.CurrentSim; | 341 | Simulator currentSim = pb.Client.Network.CurrentSim; |
342 | totals[pb.ConnectionState]++; | ||
335 | 343 | ||
336 | MainConsole.Instance.OutputFormat( | 344 | MainConsole.Instance.OutputFormat( |
337 | outputFormat, | 345 | outputFormat, |
338 | pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState); | 346 | pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState); |
339 | } | 347 | } |
340 | } | 348 | } |
349 | |||
350 | ConsoleDisplayList cdl = new ConsoleDisplayList(); | ||
351 | |||
352 | foreach (KeyValuePair<ConnectionState, int> kvp in totals) | ||
353 | cdl.AddRow(kvp.Key, kvp.Value); | ||
354 | |||
355 | |||
356 | MainConsole.Instance.OutputFormat("\n{0}", cdl.ToString()); | ||
341 | } | 357 | } |
342 | 358 | ||
343 | /* | 359 | /* |
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs index 9e82577..2707a49 100644 --- a/OpenSim/Tools/pCampBot/pCampBot.cs +++ b/OpenSim/Tools/pCampBot/pCampBot.cs | |||
@@ -123,9 +123,10 @@ namespace pCampBot | |||
123 | " -password password for the bots\n" + | 123 | " -password password for the bots\n" + |
124 | " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" + | 124 | " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" + |
125 | " current options are:\n" + | 125 | " current options are:\n" + |
126 | " p (physics)\n" + | 126 | " p (physics - bots constantly move and jump around)\n" + |
127 | " g (grab)\n" + | 127 | " g (grab - bots randomly click prims whether set clickable or not)\n" + |
128 | " t (teleport)\n" + | 128 | " n (none - bots do nothing)\n" + |
129 | " t (teleport - bots regularly teleport between regions on the grid)\n" + | ||
129 | // " c (cross)" + | 130 | // " c (cross)" + |
130 | " -wear set appearance folder to load from (default: no)\n" + | 131 | " -wear set appearance folder to load from (default: no)\n" + |
131 | " -h, -help show this message"); | 132 | " -h, -help show this message"); |