public void SelectServerFromList(AvailableServerData testData) { if (!IsServerInList(testData)) { throw new ArgumentOutOfRangeException(string.Format("Server: {0} is not in list", testData.ToString())); } _selectedServerIndex = AvailableServers.IndexOf(testData); }
public void LoadServers(string[] servers) { AvailableServers.Clear(); foreach (string backendUrl in servers) { LoadServer(backendUrl); } }
public bool AddAvailableServer(AvailableServerData availableServerData) { if (!IsServerInList(availableServerData)) { AvailableServers.Add(availableServerData); ServerAdded(availableServerData.ServerData); ServerListChanged(); return(true); } return(false); }
public void LoadServer(string backendUrl) { string json = ""; try { RequestHandler.ChangeBackendUrl(backendUrl); json = RequestHandler.RequestConnect(); } catch { return; } AvailableServers.Add(Json.Deserialize <ServerInfo>(json)); }
private void RemoveInactiveServers() { ServerData removedServer = null; for (int i = AvailableServers.Count - 1; i >= 0; i--) { if (_timeProvider.RealtimeSinceStartup - AvailableServers[i].LastConnectionTime > SERVER_INACTIVE_TOLERANCE) { removedServer = AvailableServers[i].ServerData; if (removedServer == SelectedServer.ServerData) { RemoveSelectedServer(removedServer); } AvailableServers.RemoveAt(i); i--; } } if (removedServer != null) { ServerRemoved(removedServer); ServerListChanged(); } }
public bool CanAccessWorld(WorldServer world) { return(world.RequiredRole <= Role || AvailableServers.Contains(world.Id)); }