protected override void OnMessage(MessageEventArgs e) { string messageString = e.Data; Debug.WriteLine("messageString : " + messageString); if (messageString.Length > 0 && messageString[0] == '{') { try { UniToio.NetData netData = JsonConvert.DeserializeObject <UniToio.NetData>(messageString); if (netData != null) { if (netData.uuid == "" && (netData.data == null || netData.data.Length == 0)) // Connect { ToioBridge.ToioDeviceManager.Instance.Search(3000, NewToioFound); return; } UniToio.Data data = UniToio.DataConverter.Convert(netData); if (data != null) { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.Write(data.uuid, data.data); } Debug.WriteLine(data.uuid); } } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } } }
private void NewToioFound(ToioBridge.Toio toio) { string msg = $"Toio count: {ToioBridge.ToioDeviceManager.Instance.GetToioCount()}"; //SetText(msg); Debug.WriteLine(msg); string json = "{\"serial\":" + toio.SerialNumber + "}"; Sessions.Broadcast(json); toio.onValueChanged += OnValueChanged; }
private void MessageWebSocket_MessageReceived(MessageWebSocket sender, MessageWebSocketMessageReceivedEventArgs args) { DataReader messageReader = args.GetDataReader(); messageReader.UnicodeEncoding = UnicodeEncoding.Utf8; string messageString = messageReader.ReadString(messageReader.UnconsumedBufferLength); Debug.WriteLine("messageString : " + messageString); if (messageString == "G") { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.MotorControl(true, 100, true, 100); } } else if (messageString == "B") { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.MotorControl(false, 100, false, 100); } } else if (messageString == "R") { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.MotorControl(true, 100, false, 100); } } else if (messageString == "L") { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.MotorControl(false, 100, true, 100); } } else if (messageString == " ") { for (int i = 0; i < ToioBridge.ToioDeviceManager.Instance.GetToioCount(); i++) { ToioBridge.Toio toio = ToioBridge.ToioDeviceManager.Instance.GetToio(i); toio.MotorControl(true, 0, true, 0); } } //Add code here to do something with the string that is received. Task.Run(async() => { //UnityEngine.WSA.Application.InvokeOnAppThread(() => { // Debug.WriteLine("InvokeOnAppThread : iTween"); // // WebSocket受信時に回転が変わる // iTween.RotateTo(this.gameObject, iTween.Hash( // "x", UnityEngine.Random.Range(1, 5) * 20, // "y", UnityEngine.Random.Range(1, 5) * 20, // "z", UnityEngine.Random.Range(1, 5) * 20, // "time", 2f // )); // // WebSocket受信時に大きさが変わる // var scale = UnityEngine.Random.Range(1, 5) * 0.02; // iTween.ScaleTo(this.gameObject, iTween.Hash( // "x", originalScale.x + scale, // "y", originalScale.y + scale, // "z", originalScale.z + scale, // "time", 2f // )); //}, true); await Task.Delay(100); }); }