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; } } } } }
/// <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); } } }