Show number of connections each bot has established in "show bots" command.

0.7.6-extended
Justin Clark-Casey (justincc) 2013-08-19 19:38:20 +01:00
parent 85a9cb260a
commit a90a5f52dd
2 changed files with 24 additions and 8 deletions

View File

@ -97,6 +97,19 @@ namespace pCampBot
/// </summary>
public ConnectionState ConnectionState { get; private set; }
/// <summary>
/// The number of connections that this bot has to different simulators.
/// </summary>
/// <value>Includes both root and child connections.</value>
public int ConnectionsCount
{
get
{
lock (Client.Network.Simulators)
return Client.Network.Simulators.Count;
}
}
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string Name { get; private set; }
@ -144,7 +157,7 @@ namespace pCampBot
ConnectionState = ConnectionState.Disconnected;
behaviours.ForEach(b => b.Initialize(this));
Client = new GridClient();
Random = new Random(Environment.TickCount);// We do stuff randomly here

View File

@ -395,8 +395,11 @@ namespace pCampBot
private void HandleShowStatus(string module, string[] cmd)
{
string outputFormat = "{0,-30} {1, -30} {2,-14}";
MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status");
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
cdt.AddColumn("Name", 30);
cdt.AddColumn("Region", 30);
cdt.AddColumn("Status", 14);
cdt.AddColumn("Connections", 11);
Dictionary<ConnectionState, int> totals = new Dictionary<ConnectionState, int>();
foreach (object o in Enum.GetValues(typeof(ConnectionState)))
@ -409,19 +412,19 @@ namespace pCampBot
Simulator currentSim = pb.Client.Network.CurrentSim;
totals[pb.ConnectionState]++;
MainConsole.Instance.OutputFormat(
outputFormat,
pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState);
cdt.AddRow(
pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState, pb.ConnectionsCount);
}
}
MainConsole.Instance.Output(cdt.ToString());
ConsoleDisplayList cdl = new ConsoleDisplayList();
foreach (KeyValuePair<ConnectionState, int> kvp in totals)
cdl.AddRow(kvp.Key, kvp.Value);
MainConsole.Instance.OutputFormat("\n{0}", cdl.ToString());
MainConsole.Instance.Output(cdl.ToString());
}
/*