void IConnection.Active(int position) { if ((position > 0 || position < serverConnessi.Count) && serverConnessi.Count > 1) { ServerConnection serverToDeactive = serverConnessi[serverAttivoIndex]; serverToActiveIndex = position; serverToDeactive.Deactive(); } }
void IConnection.Disconnect(int position) { if (serverAttivoIndex == position && serverConnessi.Count > 1 && started) { int indexToActive = position + 1; if (position == serverConnessi.Count - 1) { indexToActive = 0; } ServerConnection serverToDeactive = serverConnessi[serverAttivoIndex]; serverToDeactive.Deactive(); serverToActiveIndex = indexToActive; } Server server = null; ServerConnection curServer = null; server = serverConnessi[position].Server; curServer = serverConnessi[position]; curServer.Disconnect(); Trace.TraceInformation("Server disconnesso. Server: {0}:{1}:{2}", curServer.Server.Name, curServer.Server.IP, curServer.Server.ControlPort); }