refactor: restructure pCampbot multi-bot connection code.
parent
2fa42f24fd
commit
079cd4e94f
|
@ -97,6 +97,46 @@ namespace pCampBot
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Dictionary<ulong, GridRegion> RegionsKnown { get; private set; }
|
public Dictionary<ulong, GridRegion> RegionsKnown { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// First name for bots
|
||||||
|
/// </summary>
|
||||||
|
private string m_firstName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Last name stem for bots
|
||||||
|
/// </summary>
|
||||||
|
private string m_lastNameStem;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Password for bots
|
||||||
|
/// </summary>
|
||||||
|
private string m_password;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Login URI for bots.
|
||||||
|
/// </summary>
|
||||||
|
private string m_loginUri;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Start location for bots.
|
||||||
|
/// </summary>
|
||||||
|
private string m_startUri;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Postfix bot number at which bot sequence starts.
|
||||||
|
/// </summary>
|
||||||
|
private int m_fromBotNumber;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Wear setting for bots.
|
||||||
|
/// </summary>
|
||||||
|
private string m_wearSetting;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Behaviour switches for bots.
|
||||||
|
/// </summary>
|
||||||
|
private HashSet<string> m_behaviourSwitches = new HashSet<string>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
|
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -163,20 +203,26 @@ namespace pCampBot
|
||||||
/// <param name="cs">The configuration for the bots to use</param>
|
/// <param name="cs">The configuration for the bots to use</param>
|
||||||
public void dobotStartup(int botcount, IConfig startupConfig)
|
public void dobotStartup(int botcount, IConfig startupConfig)
|
||||||
{
|
{
|
||||||
string firstName = startupConfig.GetString("firstname");
|
m_firstName = startupConfig.GetString("firstname");
|
||||||
string lastNameStem = startupConfig.GetString("lastname");
|
m_lastNameStem = startupConfig.GetString("lastname");
|
||||||
string password = startupConfig.GetString("password");
|
m_password = startupConfig.GetString("password");
|
||||||
string loginUri = startupConfig.GetString("loginuri");
|
m_loginUri = startupConfig.GetString("loginuri");
|
||||||
string startLocation = startupConfig.GetString("start", "last");
|
m_fromBotNumber = startupConfig.GetInt("from", 0);
|
||||||
int fromBotNumber = startupConfig.GetInt("from", 0);
|
m_wearSetting = startupConfig.GetString("wear", "no");
|
||||||
string wearSetting = startupConfig.GetString("wear", "no");
|
|
||||||
|
|
||||||
string startUri = ParseInputStartLocationToUri(startLocation);
|
m_startUri = ParseInputStartLocationToUri(startupConfig.GetString("start", "last"));
|
||||||
|
|
||||||
HashSet<string> behaviourSwitches = new HashSet<string>();
|
|
||||||
Array.ForEach<string>(
|
Array.ForEach<string>(
|
||||||
startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
|
startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => m_behaviourSwitches.Add(b));
|
||||||
|
|
||||||
|
ConnectBots(
|
||||||
|
botcount, m_firstName, m_lastNameStem, m_password, m_loginUri, m_startUri, m_fromBotNumber, m_wearSetting, m_behaviourSwitches);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ConnectBots(
|
||||||
|
int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
|
||||||
|
HashSet<string> behaviourSwitches)
|
||||||
|
{
|
||||||
MainConsole.Instance.OutputFormat(
|
MainConsole.Instance.OutputFormat(
|
||||||
"[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_<n>",
|
"[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_<n>",
|
||||||
botcount,
|
botcount,
|
||||||
|
@ -194,7 +240,11 @@ namespace pCampBot
|
||||||
lock (m_bots)
|
lock (m_bots)
|
||||||
{
|
{
|
||||||
if (DisconnectingBots)
|
if (DisconnectingBots)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.Output(
|
||||||
|
"[BOT MANAGER]: Aborting bot connection due to user-initiated disconnection");
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
|
string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue