void Start() { searchPanel.SetActive(false); gameConfiguration = FindObjectOfType <GameConfiguration>(); searchGlass = FindObjectOfType <SearchGlass>(); StartCoroutine(HidePanel()); IEnumerator HidePanel() { yield return(new WaitForSeconds(1f)); switch (gameConfiguration.role) { case 0: NetworkManager.singleton.StartHost(); networkDiscovery.AdvertiseServer(); loadingPanel.SetActive(false); break; case 1: searchPanel.SetActive(true); loadingPanel.SetActive(false); networkDiscovery.StartDiscovery(); StartCoroutine(UpdateAndAttemptConnection()); break; } } }
IEnumerator UpdateAndAttemptConnection() { bool connected = false; while (!connected) { if (discoveredServers.Count != 0) { foreach (var info in discoveredServers.Values) { Connect(info); searchGlass = FindObjectOfType <SearchGlass>(); searchGlass.DisablePanel(); connected = true; } } yield return(new WaitForSeconds(0.5f)); } }