internal void updateStateFromTCP(tcpPackage pack) { foreach (UDPEvent e in pack.events) { Logger.addToLogNewLine(smartToyName, " sensor " + e.typ + " " + e.id + " value " + e.val + " " + e.dur); 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> /// update the smart object from an event form event stream /// </summary> /// <param name="content"></param> internal void updateFromTCPEvent(string content) { Debug.Log(content); tcpPackage package = JsonUtility.FromJson <tcpPackage>(content); updatefromTCPmessage(package); Logger.addToLogNewLine("ServerToy", "Got TCP event " + content); }
/// <summary> /// update the message form event messages /// </summary> /// <param name="pack"></param> public void updatefromTCPmessage(tcpPackage 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>().updateStateFromTCP(pack); } } }