Exemple #1
0
 ///
 /// @brief Receive gestures from server
 ///
 public SensoHandGesture[] GetGestures()
 {
     if (GesturesCount > 0)
     {
         SensoHandGesture[] receivedGestures = new SensoHandGesture[GesturesCount];
         var enumerator = gestures.GetEnumerator();
         for (int i = 0; enumerator.MoveNext(); ++i)
         {
             receivedGestures[i] = enumerator.Current;
         }
         gestures.Clear();
         GesturesCount = 0;
         return(receivedGestures);
     }
     else
     {
         return(null);
     }
 }
Exemple #2
0
    ///
    /// @brief Parses JSON packet received from server
    ///
    private ESensoPositionType processJsonStr(string jsonPacket)
    {
        ESensoPositionType receivedType = ESensoPositionType.Unknown;
        JSONNode           parsedData   = null;

        try {
            parsedData = JSON.Parse(jsonPacket);
        } catch (Exception ex) {
            Debug.LogError("packet " + jsonPacket + " parse error: " + ex.Message);
        }
        if (parsedData != null)
        {
            if (parsedData["type"].Value.Equals("position"))
            {
                var dataNode = parsedData["data"];
                receivedType = getPositionFromString(dataNode["type"].Value);
                try {
                    handSamples[(int)receivedType].parseJSONNode(dataNode);
                } catch (Exception ex) {
                    receivedType = ESensoPositionType.Unknown;
                    Debug.LogError(ex.Message);
                }
            }
            else if (parsedData["type"].Value.Equals("gesture"))
            {
                SensoHandGesture aGesture = new SensoHandGesture(parsedData["data"]);
                gestures.AddLast(aGesture);
                ++GesturesCount;
            }
            else if (parsedData["type"].Value.Equals("battery"))
            {
                var dataNode = parsedData["data"];
                int ind      = (int)getPositionFromString(dataNode["type"].Value);
                batteryValues[ind] = dataNode["level"].AsInt;
            }
            else
            {
                Debug.Log("Received unknown type: " + parsedData["type"]);
            }
        }
        return(receivedType);
    }