private IEnumerable <object> WaitForRefresh() { waitingForRefresh = true; if (refreshDisableTimer > DateTime.Now) { yield return(new WaitForSeconds((float)(refreshDisableTimer - DateTime.Now).TotalSeconds)); } if (GameMain.Config.UseSteamMatchmaking) { serverList.ClearChildren(); if (!SteamManager.GetServers(AddToServerList, UpdateServerInfo, ServerQueryFinished)) { serverList.ClearChildren(); new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), serverList.Content.RectTransform), TextManager.Get("ServerListNoSteamConnection"), textAlignment: Alignment.Center) { CanBeFocused = false }; } } else { CoroutineManager.StartCoroutine(SendMasterServerRequest()); waitingForRefresh = false; } refreshDisableTimer = DateTime.Now + AllowedRefreshInterval; yield return(CoroutineStatus.Success); }