コード例 #1
0
    internal void updateStateFromUDP(udpPackage pack)
    {
        if (pack.accelerometer != null)
        {
            objectposition.setAccelerometer(pack.accelerometer);
        }
        if (pack.gyroscope != null)
        {
            objectposition.setGyroscope(pack.gyroscope);
        }
        if (pack.state != null)
        {
            if (pack.state.Length > 0)
            {
                foreach (UDPEvent e in pack.state)
                {
                    switch (e.typ)
                    {
                    case "touchsensor": touchsensor.updateFromUDP(e.val, e.dur); break;

                    case "button": button.updateFromUDP(e.id, e.val, e.dur); break;

                    case "rfidsensor": rfidsensor.updateFromUDP(e.id, e.val, e.dur); break;

                    //case "accelerometer": objectposition.updateAccFromUDP(e.id, e.val, e.dur); break;
                    //case "gyroscope": objectposition.updateGyrFromUDP(e.id, e.val, e.dur); break;
                    case "position": objectposition.updatePosFromUDP(e.id, e.val, e.dur); break;

                    default: break;
                    }
                }
            }
        }
    }
コード例 #2
0
    /// <summary>
    /// updae the state of the object from the UDP channel stream
    /// </summary>
    /// <param name="content"></param>
    internal void updateFromUDPEvent(string content)
    {
        udpPackage package = JsonUtility.FromJson <udpPackage>(content);

        updatefromUDPmessage(package);
        Logger.addToLogNewLine("ServerToy", "Got UDP event " + content);
    }
 /// <summary>
 /// update the device from udp stream
 /// </summary>
 /// <param name="pack"></param>
 public void updatefromUDPmessage(udpPackage pack)
 {
     for (int i = 0; i < transform.GetChild(1).childCount; i++)
     {
         if (transform.GetChild(1).GetChild(i).name == pack.id)
         {
             transform.GetChild(1).GetChild(i).GetComponent <SmartToy>().updateStateFromUDP(pack);
         }
     }
 }