private void networkProvider_OnclientDisconnected(object sender, int clientId) { #if DEBUG System.Diagnostics.Debug.WriteLine(clientId + " diconnected"); #endif try { SignalGenerator clientGenerator = generators[clientId]; clientGenerator.ResetSubscriptions(); clientGenerator.Stop(); generators.Remove(clientId); } catch (KeyNotFoundException) { } try { if (NetworkStatusChenged != null) { NetworkStatusChenged(this, nicknames[clientId] + " disconnected"); } } catch (KeyNotFoundException) { } if (NetworkClientDisconnected != null) { NetworkClientDisconnected(this, clientId); } nicknames.Remove(clientId); }