/// <summary>
///
/// </summary>
/// <param name="sim"></param>
/// <param name="sendCloseCircuit"></param>
public void DisconnectSim(Simulator sim, bool sendCloseCircuit)
{
if (sim != null)
{
sim.Disconnect(sendCloseCircuit);
// Fire the SimDisconnected event if a handler is registered
if (OnSimDisconnected != null)
{
try { OnSimDisconnected(sim, DisconnectType.NetworkTimeout); }
catch (Exception e) { Logger.Log(e.Message, Helpers.LogLevel.Error, Client, e); }
}
lock (Simulators) Simulators.Remove(sim);
if (Simulators.Count == 0) Shutdown(DisconnectType.SimShutdown);
}
else
{
Logger.Log("DisconnectSim() called with a null Simulator reference", Helpers.LogLevel.Warning, Client);
}
}