/// <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); } }
/// <summary> /// Close a connection to the given simulator /// </summary> /// <param name="simulator"></param> /// <param name="sendCloseCircuit"></param> public void DisconnectSim(Simulator simulator, bool sendCloseCircuit) { if (simulator != null) { simulator.Disconnect(sendCloseCircuit); // Fire the SimDisconnected event if a handler is registered if (m_SimDisconnected != null) { OnSimDisconnected(new SimDisconnectedEventArgs(simulator, DisconnectType.NetworkTimeout)); } lock (Simulators) Simulators.Remove(simulator); if (Simulators.Count == 0) Shutdown(DisconnectType.SimShutdown); } else { Logger.Log("DisconnectSim() called with a null Simulator reference", Helpers.LogLevel.Warning, Client); } }