Allow "show bots" pCampbot console command to quickly report status by not locking entire bot list for almost 100% of connection time.
parent
588a3b91c5
commit
9fe282f902
|
@ -333,33 +333,35 @@ namespace pCampBot
|
||||||
MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
|
MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
|
||||||
MainConsole.Instance.OutputFormat("[BOT MANAGER]: InitBotRequestObjectTextures is {0}", InitBotRequestObjectTextures);
|
MainConsole.Instance.OutputFormat("[BOT MANAGER]: InitBotRequestObjectTextures is {0}", InitBotRequestObjectTextures);
|
||||||
|
|
||||||
int connectedBots = 0;
|
List<Bot> botsToConnect = new List<Bot>();
|
||||||
|
|
||||||
for (int i = 0; i < m_bots.Count; i++)
|
lock (m_bots)
|
||||||
{
|
{
|
||||||
lock (m_bots)
|
foreach (Bot bot in m_bots)
|
||||||
{
|
{
|
||||||
if (DisconnectingBots)
|
if (bot.ConnectionState == ConnectionState.Disconnected)
|
||||||
{
|
botsToConnect.Add(bot);
|
||||||
MainConsole.Instance.Output(
|
|
||||||
"[BOT MANAGER]: Aborting bot connection due to user-initiated disconnection");
|
if (botsToConnect.Count >= botCount)
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
if (m_bots[i].ConnectionState == ConnectionState.Disconnected)
|
|
||||||
{
|
|
||||||
m_bots[i].Connect();
|
|
||||||
connectedBots++;
|
|
||||||
|
|
||||||
if (connectedBots >= botCount)
|
|
||||||
break;
|
|
||||||
|
|
||||||
// Stagger logins
|
|
||||||
Thread.Sleep(LoginDelay);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (Bot bot in botsToConnect)
|
||||||
|
{
|
||||||
|
if (DisconnectingBots)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.Output(
|
||||||
|
"[BOT MANAGER]: Aborting bot connection due to user-initiated disconnection");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
bot.Connect();
|
||||||
|
|
||||||
|
// Stagger logins
|
||||||
|
Thread.Sleep(LoginDelay);
|
||||||
|
}
|
||||||
|
|
||||||
ConnectingBots = false;
|
ConnectingBots = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue