void OnDiscoveredServer(NetworkDiscovery.DiscoveryInfo info) { if (!IsRefreshing && !IsLookingUpServer(info.EndPoint)) { return; } int index = m_discoveredServers.FindIndex(item => item.EndPoint.Equals(info.EndPoint)); if (index < 0) { // server is not in the list // add it m_discoveredServers.Add(info); } else { // server is in the list // update it m_discoveredServers[index] = info; } }
void Connect(NetworkDiscovery.DiscoveryInfo info) { if (null == NetworkManager.singleton) { return; } if (null == Transport.activeTransport) { return; } if (!(Transport.activeTransport is TelepathyTransport)) { Debug.LogErrorFormat("Only {0} is supported", typeof(TelepathyTransport)); return; } // assign address and port NetworkManager.singleton.networkAddress = info.EndPoint.Address.ToString(); ((TelepathyTransport)Transport.activeTransport).port = ushort.Parse(info.KeyValuePairs[NetworkDiscovery.kPortKey]); NetworkManager.singleton.StartClient(); }