Use IsConnected status to determine whether all pCampBots have disconnected, rather than maintaining a separate count

Checking IsConnected is more reliable.
remove-scene-viewer
Justin Clark-Casey (justincc) 2011-11-09 21:22:54 +00:00
parent 674b521fdd
commit bbab7b6b4d
2 changed files with 22 additions and 16 deletions

View File

@ -222,7 +222,7 @@ namespace pCampBot
}
else
{
MainConsole.Instance.OutputFormat(
m_log.ErrorFormat(
"{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
if (OnDisconnected != null)
@ -266,12 +266,12 @@ namespace pCampBot
}
else
{
MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
m_log.WarnFormat("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID);
}
}
catch (Exception e)
{
MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString()));
m_log.ErrorFormat("Exception: {0}{1}", e.Message, e.StackTrace);
}
}
}
@ -305,7 +305,7 @@ namespace pCampBot
if (wear == "yes")
{
//TODO: Implement random outfit picking
MainConsole.Instance.Output("Picks a random outfit. Not yet implemented.");
m_log.DebugFormat("Picks a random outfit. Not yet implemented.");
}
else if (wear != "save")
saveDir = "MyAppearance/" + wear;
@ -334,7 +334,9 @@ namespace pCampBot
listwearables.Add(item);
}
else
MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
{
m_log.WarnFormat("Failed to create item {0}", item.Name);
}
}
);
}
@ -356,7 +358,9 @@ namespace pCampBot
listwearables.Add(item);
}
else
MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
{
m_log.WarnFormat("Failed to create item {0}", item.Name);
}
}
);
}
@ -364,10 +368,12 @@ namespace pCampBot
Thread.Sleep(1000);
if (listwearables == null || listwearables.Count == 0)
MainConsole.Instance.Output("Nothing to send on this folder!");
{
m_log.DebugFormat("Nothing to send on this folder!");
}
else
{
MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
m_log.DebugFormat("Sending {0} wearables...", listwearables.Count);
Client.Appearance.WearOutfit(listwearables, false);
}
}

View File

@ -51,7 +51,6 @@ namespace pCampBot
protected CommandConsole m_console;
protected List<Bot> m_lBot;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
public IConfig Config { get; private set; }
/// <summary>
@ -200,16 +199,17 @@ namespace pCampBot
{
case EventType.CONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
numbots++;
// m_log.InfoFormat("NUMBOTS {0}", numbots);
break;
case EventType.DISCONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
numbots--;
// m_log.InfoFormat("NUMBOTS {0}", numbots);
if (numbots <= 0)
Environment.Exit(0);
break;
lock (m_lBot)
{
if (m_lBot.TrueForAll(b => !b.IsConnected))
Environment.Exit(0);
break;
}
}
}