public BeerPongDiscoveredServer(BeerPongBroadcastData aData) { version = aData.version; peerId = aData.peerId; isOpen = aData.isOpen; numPlayers = aData.numPlayers; serverScore = aData.serverScore; privateTeamKey = aData.privateTeamKey; }
public void Setup(BP_NetworkManager aNetworkManager) { networkManager = aNetworkManager; broadcastKey = Mathf.Abs(aNetworkManager.broadcastIdentifier.GetHashCode());//Make sure broadcastKey matches client isOpen = false; numPlayers = 0; broadcastDataObject = new BeerPongBroadcastData(); broadcastDataObject.peerId = networkManager.peerId; UpdateBroadcastData(); }
public override void OnReceivedBroadcast(string aFromAddress, string aRawData) { BeerPongBroadcastData data = new BeerPongBroadcastData(); data.FromString(aRawData); //Debug log broadcastLogCounter += 1; receivedBroadcastLog.Enqueue(broadcastLogTokens[broadcastLogCounter % broadcastLogTokens.Length] + " " + aRawData); if (receivedBroadcastLog.Count > maxLogLines) { receivedBroadcastLog.Dequeue(); } var server = new BeerPongDiscoveredServer(data); server.rawData = aRawData; server.ipAddress = aFromAddress; server.timestamp = Time.time; bool newData = false; if (!discoveredServers.ContainsKey(aFromAddress)) { //New Server discoveredServers.Add(aFromAddress, server); newData = true; } else { if (discoveredServers[aFromAddress].rawData != aRawData) { //Old Server with new info discoveredServers[aFromAddress] = server; newData = true; } else { //Just update the timestamp discoveredServers[aFromAddress].timestamp = Time.time; newData = false; } } networkManager.OnReceivedBroadcast(aFromAddress, aRawData); if (newData) { networkManager.OnDiscoveredServer(server); } }