aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tools/pCampBot/BotManager.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-08-13 23:54:50 +0100
committerJustin Clark-Casey (justincc)2013-08-13 23:54:50 +0100
commit5933f9448d839b9f6db391dedc493bb5cc951d66 (patch)
tree158049869953786cdf7741e52444380dbce6da89 /OpenSim/Tools/pCampBot/BotManager.cs
parentminor: Eliminate one of the duplicate 'have's in the HG message telling the u... (diff)
downloadopensim-SC_OLD-5933f9448d839b9f6db391dedc493bb5cc951d66.zip
opensim-SC_OLD-5933f9448d839b9f6db391dedc493bb5cc951d66.tar.gz
opensim-SC_OLD-5933f9448d839b9f6db391dedc493bb5cc951d66.tar.bz2
opensim-SC_OLD-5933f9448d839b9f6db391dedc493bb5cc951d66.tar.xz
Add a SendAgentUpdates setting to a new pCampbot.ini.example file which can control whether bots send agent updates
pCampbot.ini.example is used by copying to pCampbot.ini, like other ini files
Diffstat (limited to '')
-rw-r--r--OpenSim/Tools/pCampBot/BotManager.cs35
1 files changed, 20 insertions, 15 deletions
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 74bd36a..16b02b9 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -63,6 +63,11 @@ namespace pCampBot
63 protected CommandConsole m_console; 63 protected CommandConsole m_console;
64 64
65 /// <summary> 65 /// <summary>
66 /// Controls whether bots start out sending agent updates on connection.
67 /// </summary>
68 public bool BotsInitSendAgentUpdates { get; set; }
69
70 /// <summary>
66 /// Created bots, whether active or inactive. 71 /// Created bots, whether active or inactive.
67 /// </summary> 72 /// </summary>
68 protected List<Bot> m_lBot; 73 protected List<Bot> m_lBot;
@@ -73,11 +78,6 @@ namespace pCampBot
73 public Random Rng { get; private set; } 78 public Random Rng { get; private set; }
74 79
75 /// <summary> 80 /// <summary>
76 /// Overall configuration.
77 /// </summary>
78 public IConfig Config { get; private set; }
79
80 /// <summary>
81 /// Track the assets we have and have not received so we don't endlessly repeat requests. 81 /// Track the assets we have and have not received so we don't endlessly repeat requests.
82 /// </summary> 82 /// </summary>
83 public Dictionary<UUID, bool> AssetsReceived { get; private set; } 83 public Dictionary<UUID, bool> AssetsReceived { get; private set; }
@@ -92,6 +92,8 @@ namespace pCampBot
92 /// </summary> 92 /// </summary>
93 public BotManager() 93 public BotManager()
94 { 94 {
95 BotsInitSendAgentUpdates = true;
96
95 LoginDelay = DefaultLoginDelay; 97 LoginDelay = DefaultLoginDelay;
96 98
97 Rng = new Random(Environment.TickCount); 99 Rng = new Random(Environment.TickCount);
@@ -148,18 +150,17 @@ namespace pCampBot
148 /// </summary> 150 /// </summary>
149 /// <param name="botcount">How many bots to start up</param> 151 /// <param name="botcount">How many bots to start up</param>
150 /// <param name="cs">The configuration for the bots to use</param> 152 /// <param name="cs">The configuration for the bots to use</param>
151 public void dobotStartup(int botcount, IConfig cs) 153 public void dobotStartup(int botcount, IConfig startupConfig)
152 { 154 {
153 Config = cs; 155 string firstName = startupConfig.GetString("firstname");
154 156 string lastNameStem = startupConfig.GetString("lastname");
155 string firstName = cs.GetString("firstname"); 157 string password = startupConfig.GetString("password");
156 string lastNameStem = cs.GetString("lastname"); 158 string loginUri = startupConfig.GetString("loginuri");
157 string password = cs.GetString("password"); 159 string wearSetting = startupConfig.GetString("wear", "no");
158 string loginUri = cs.GetString("loginuri");
159 160
160 HashSet<string> behaviourSwitches = new HashSet<string>(); 161 HashSet<string> behaviourSwitches = new HashSet<string>();
161 Array.ForEach<string>( 162 Array.ForEach<string>(
162 cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b)); 163 startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
163 164
164 MainConsole.Instance.OutputFormat( 165 MainConsole.Instance.OutputFormat(
165 "[BOT MANAGER]: Starting {0} bots connecting to {1}, named {2} {3}_<n>", 166 "[BOT MANAGER]: Starting {0} bots connecting to {1}, named {2} {3}_<n>",
@@ -169,6 +170,7 @@ namespace pCampBot
169 lastNameStem); 170 lastNameStem);
170 171
171 MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay); 172 MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
173 MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", BotsInitSendAgentUpdates);
172 174
173 for (int i = 0; i < botcount; i++) 175 for (int i = 0; i < botcount; i++)
174 { 176 {
@@ -193,7 +195,7 @@ namespace pCampBot
193 if (behaviourSwitches.Contains("t")) 195 if (behaviourSwitches.Contains("t"))
194 behaviours.Add(new TeleportBehaviour()); 196 behaviours.Add(new TeleportBehaviour());
195 197
196 StartBot(this, behaviours, firstName, lastName, password, loginUri); 198 StartBot(this, behaviours, firstName, lastName, password, loginUri, wearSetting);
197 } 199 }
198 } 200 }
199 201
@@ -226,15 +228,18 @@ namespace pCampBot
226 /// <param name="lastName">Last name</param> 228 /// <param name="lastName">Last name</param>
227 /// <param name="password">Password</param> 229 /// <param name="password">Password</param>
228 /// <param name="loginUri">Login URI</param> 230 /// <param name="loginUri">Login URI</param>
231 /// <param name="wearSetting"></param>
229 public void StartBot( 232 public void StartBot(
230 BotManager bm, List<IBehaviour> behaviours, 233 BotManager bm, List<IBehaviour> behaviours,
231 string firstName, string lastName, string password, string loginUri) 234 string firstName, string lastName, string password, string loginUri, string wearSetting)
232 { 235 {
233 MainConsole.Instance.OutputFormat( 236 MainConsole.Instance.OutputFormat(
234 "[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}", 237 "[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}",
235 firstName, lastName, string.Join(",", behaviours.ConvertAll<string>(b => b.Name).ToArray())); 238 firstName, lastName, string.Join(",", behaviours.ConvertAll<string>(b => b.Name).ToArray()));
236 239
237 Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri); 240 Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
241 pb.wear = wearSetting;
242 pb.Client.Settings.SEND_AGENT_UPDATES = BotsInitSendAgentUpdates;
238 243
239 pb.OnConnected += handlebotEvent; 244 pb.OnConnected += handlebotEvent;
240 pb.OnDisconnected += handlebotEvent; 245 pb.OnDisconnected += handlebotEvent;