Exemplo n.º 1
0
    public static void Update()
    {
        while (_lockFreeSendMessageQueue.Count > 0)
        {
            TransmissionProtocol data;
            if (_lockFreeSendMessageQueue.TryDequeue(out data))
            {
                UnityEngine.Debug.Log("SendData");

                string Recipient;

                if (PortConnectionLookup.TryGetValue(data.SenderBaseDevice + ":" + data.SenderPort, out Recipient))
                {
                    string RecipientBaseDevice = Recipient.Split(':')[0];
                    string RecipientPort       = Recipient.Split(':')[1];
                    data.RecipientBaseDevice = RecipientBaseDevice;
                    data.RecipientPort       = RecipientPort;
                    BaseDevice recipientDevice = BaseDeviceLookup[RecipientBaseDevice];
                    if (recipientDevice != null)
                    {
                        recipientDevice.TransmissionReceivedEvent(data);
                    }
                }
                else
                {
                    UnityEngine.Debug.LogError("No connection found for " + data.SenderBaseDevice + ":" + data.SenderPort);
                }
            }
        }
    }