From e5b1688913d0fb9e72f67d0b476778a733ddb4b5 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 12 Aug 2013 18:48:18 +0100
Subject: Add none behaviour to pCampbot when one wants bots to just stand
around
---
OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs | 43 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 17 +++++----
OpenSim/Tools/pCampBot/pCampBot.cs | 7 ++--
3 files changed, 57 insertions(+), 10 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
(limited to 'OpenSim')
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 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using OpenMetaverse;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// Do nothing
+ ///
+ public class NoneBehaviour : AbstractBehaviour
+ {
+ public NoneBehaviour() { Name = "None"; }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d615b3f..1a46380 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -177,18 +177,21 @@ namespace pCampBot
// We must give each bot its own list of instantiated behaviours since they store state.
List behaviours = new List();
- // Hard-coded for now
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("c"))
+ behaviours.Add(new CrossBehaviour());
+
if (behaviourSwitches.Contains("g"))
behaviours.Add(new GrabbingBehaviour());
+
+ if (behaviourSwitches.Contains("n"))
+ behaviours.Add(new NoneBehaviour());
+
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
-
- if (behaviourSwitches.Contains("c"))
- behaviours.Add(new CrossBehaviour());
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
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
" -password password for the bots\n" +
" -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" +
" current options are:\n" +
- " p (physics)\n" +
- " g (grab)\n" +
- " t (teleport)\n" +
+ " p (physics - bots constantly move and jump around)\n" +
+ " g (grab - bots randomly click prims whether set clickable or not)\n" +
+ " n (none - bots do nothing)\n" +
+ " t (teleport - bots regularly teleport between regions on the grid)\n" +
// " c (cross)" +
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message");
--
cgit v1.1