Exemplo n.º 1
0
    IEnumerator writeToUDP()
    {
        Debug.Log("trolly/" + myGUID.ToString());
        while (keepRunning)
        {
            Boolean firstNewEntry = true;
            while (log_messages.Count > 0)
            {
                if (firstNewEntry)
                {
                    firstNewEntry = false;
                }

                try
                {
                    simplifiedLogMessage temp_message = simplify((log_message)log_messages.Dequeue());
                    string test = "trolly/" + myGUID.ToString() + "_" + JsonUtility.ToJson(temp_message).ToString();
                    byte[] data = Encoding.UTF8.GetBytes(test);
                    logSender.Send(data, data.Length, remoteEndPoint);
                    publishCount++;
                }
                catch (Exception err)
                {
                    print(err.ToString());
                }
            }
            yield return(new WaitForSeconds(0.5f));
        }
    }
Exemplo n.º 2
0
 public void LogMessage(simplifiedLogMessage incomming_log_message)// for additional log messages
 {
     if (IsLogging)
     {
         log_messages.Enqueue(incomming_log_message);
     }
 }
Exemplo n.º 3
0
 void addSingleEntry(ref simplifiedLogMessage msg, string name, float value)
 {
     if (float.IsNaN(value) || float.IsInfinity(value))
     {
         value = 0.0f;
     }
     msg.push(name, value);
 }
Exemplo n.º 4
0
    simplifiedLogMessage  simplify(log_message incomming)
    {
        simplifiedLogMessage temp = new simplifiedLogMessage();

        temp.time      = incomming.time;
        temp.valueName = incomming.origin + "-" + incomming.valueName;
        temp.value     = incomming.value;
        return(temp);
    }
Exemplo n.º 5
0
    void LogMessageFor(PlayerController obj)
    {
        simplifiedLogMessage newFrame = new simplifiedLogMessage();

        newFrame.push("i", 0);
        newFrame.push("t", Time.time);

        addEntryFor(ref newFrame, obj.transform, obj.agent);

        LogMessage(newFrame);
    }
Exemplo n.º 6
0
    void LogMessageFor(int index, RandomMovingAgent obj)
    {
        simplifiedLogMessage newFrame = new simplifiedLogMessage();

        newFrame.push("i", index);
        newFrame.push("t", Time.time);

        addEntryFor(ref newFrame, obj.transform, obj.agent);

        LogMessage(newFrame);
    }
Exemplo n.º 7
0
    IEnumerator writeToWebsocket()
    {
        Debug.Log("starting coroutine...");
        bool firstTransmission = true;

        while (keepRunning)
        {
            while (log_messages.Count > 0)
            {
#if UNITY_WEBGL
                if (Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    while (!WebSocketIsUp() || !IsBufferOk())
                    {
                        Debug.Log("websocket not yet up or buffer not ok...");
                        yield return(0);
                    }
                }
#endif
                publishCount++;
                simplifiedLogMessage msg = (simplifiedLogMessage)log_messages.Peek();
#if UNITY_WEBGL
                if (Application.platform == RuntimePlatform.WebGLPlayer)
                {
                    bool status;
                    if (firstTransmission)
                    {
                        status = SendDataToWebSocketString(msg.NamesToCsvString());
                        if (!status)
                        {
                            Debug.Log("failed to send header...");
                            continue;
                        }
                        firstTransmission = false;
                    }
                    byte[] outputArray = msg.ValuesToByteArray();
                    status = SendDataToWebSocketArray(outputArray, outputArray.Length);
                    if (!status)
                    {
                        Debug.Log("failed to send values...");
                        continue;
                    }
                }
                else
                {
                    Debug.Log("Would've sent data!");
                }
#endif
                log_messages.Dequeue();
            }
            yield return(0);
        }
    }
Exemplo n.º 8
0
 void addEntryFor(ref simplifiedLogMessage msg, Transform t, UnityEngine.AI.NavMeshAgent a)
 {
     addSingleEntry(ref msg, "px", t.position.x);
     addSingleEntry(ref msg, "py", t.position.y);
     addSingleEntry(ref msg, "pz", t.position.z);
     addSingleEntry(ref msg, "rx", t.rotation.eulerAngles.x);
     addSingleEntry(ref msg, "ry", t.rotation.eulerAngles.y);
     addSingleEntry(ref msg, "rz", t.rotation.eulerAngles.z);
     addSingleEntry(ref msg, "vx", a.velocity.x);
     addSingleEntry(ref msg, "vy", a.velocity.y);
     addSingleEntry(ref msg, "vz", a.velocity.z);
 }
Exemplo n.º 9
0
 IEnumerator writeToWebsocket()
 {
     Debug.Log("trolly/" + myGUID.ToString());
     while (keepRunning)
     {
         Boolean firstNewEntry = true;
         while (log_messages.Count > 0)
         {
             if (firstNewEntry)
             {
                 firstNewEntry = false;
             }
             publishCount++;
             simplifiedLogMessage temp_message = simplify((log_message)log_messages.Dequeue());
             Application.ExternalCall("sendStuff", "trolly/" + myGUID.ToString() + "_" + JsonUtility.ToJson(temp_message).ToString());
         }
         yield return(new WaitForSeconds(0.5f));
     }
 }
Exemplo n.º 10
0
 IEnumerator writeToMQTT()
 {
     Debug.Log("trolly/" + myGUID.ToString());
     while (keepRunning)
     {
         Boolean firstNewEntry = true;
         while (log_messages.Count > 0)
         {
             if (firstNewEntry)
             {
                 firstNewEntry = false;
             }
             publishCount++;
             simplifiedLogMessage temp_message = simplify((log_message)log_messages.Dequeue());
             //string time =  ((int)temp_message.time / 60) + "." + (temp_message.time % 60);
             client.Publish("trolly/" + myGUID.ToString(), System.Text.Encoding.UTF8.GetBytes(JsonUtility.ToJson(temp_message).ToString()), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, true);
         }
         yield return(new WaitForSeconds(0.5f));
     }
 }