private void ParseMessage(UdpReceiveResult result, SpideyTcpServer tcpServer, IProgress <ConnectedPlayerInformation> onLocationUpdate, IProgress <ConnectedPlayerUdpEndPoint> onReceiveUdpInfo) { if (result.Buffer.Length < SpideyUdpMessage.MESSAGE_HEADER_SIZE) { return; } var message = result.Buffer; var messageType = message[0]; byte playerNumber; switch (messageType) { case SpideyUdpMessage.SPIN_A_WEB: if (!SpideyUdpMessage.ParseSpinAWebMessage(message, out playerNumber)) { break; } var added = tcpServer.AddUdpClientInformation(playerNumber, result.RemoteEndPoint); if (added) { ++_playerCount; onReceiveUdpInfo.Report(new ConnectedPlayerUdpEndPoint(playerNumber, new IPEndPoint(result.RemoteEndPoint.Address, result.RemoteEndPoint.Port))); } break; case SpideyUdpMessage.SPIDERMAN: if (!SpideyUdpMessage.ParseSpidermanMessage(message, out playerNumber, out byte[] spideyData, out byte levelData))
private void ParseMessage(UdpReceiveResult result, IProgress <ConnectedPlayerInformation> onLocationUpdate) { if (result.Buffer.Length < SpideyUdpMessage.MESSAGE_HEADER_SIZE) { return; } var message = result.Buffer; var messageType = message[0]; byte playerNumber; switch (messageType) { case SpideyUdpMessage.SPIN_A_WEB: // Not supported break; case SpideyUdpMessage.SPIDERMAN: if (!SpideyUdpMessage.ParseSpidermanMessage(message, out playerNumber, out byte[] spideyData, out byte levelData))