// Update is called once per frame void Update() { if (first) { if (client.isConnected) { StartCoroutine(SendMessageDelayed("" + number, waitTime)); first = false; } } else { if (client.infoReceived.Count > 0) { COMData data = client.infoReceived.Dequeue(); if (data.type == COMData.TYPE.TEXT) { COMData_text text = (COMData_text)data; ProcessMessage(text); } } } }
private void Client_OnReceive(object sender, SocketArgs e) { //Debug.Log("Client_OnReceive" + e != null ? ": " + e.message : ""); Debug.Log("Client_OnReceive: "); COMData data = client.infoReceived.Dequeue(); if (data.type == COMData.TYPE.TEXT) { COMData_text text = (COMData_text)data; ProcessMessage(text); //Log.Debug("Message Received: " + text.GetText()); } }
//int framesSkiped = 30; //int counter = 0; //void FixedUpdate() //{ // if (sendImages) // { // counter++; // if (counter == framesSkiped) // { // if (webCam == null) // webCam = GameObject.Find("Main Camera").GetComponent<WebCam>().cam; // if (textureTemp == null) // textureTemp = new Texture2D(webCam.width, webCam.height); // textureTemp.SetPixels32(webCam.GetPixels32()); // imageConverted = textureTemp.EncodeToPNG(); // client.SendInfo_image(imageConverted, textureTemp.width, textureTemp.height); // counter = 0; // } // } //} // Update is called once per frame void Update() { if (client.infoReceived.Count > 0) { COMData data = client.infoReceived.Dequeue(); if (data.type == COMData.TYPE.TEXT) { COMData_text text = (COMData_text)data; Log.Debug("Message Received: " + text.GetText()); if (sendImages) { if (text.GetText() == "READY") { SendImage(); } } } else if (data.type == COMData.TYPE.IMAGE) { COMData_image image = (COMData_image)data; Texture2D texture = new Texture2D(image.imageWidth, image.imageHeight); texture.LoadImage(image.data); texture.Apply(); Log.Debug("Image Received: " + texture.width + " x " + texture.height); GameObject.Find("RawImage").GetComponent <RawImage>().texture = texture; } else if (data.type == COMData.TYPE.AUDIO) { } } }
public static int StartCOM(COMData listener) { if (SelectedCOMBaudRate == -1 || SelectedCOMPort == "") { return(1); } comListener = listener; try { serialPort = new SerialPort(SelectedCOMPort); serialPort.BaudRate = SelectedCOMBaudRate; serialPort.Open(); serialPort.DataReceived += SerialPort_DataReceived; } catch (Exception e) { return(2); } return(0); }
public static COMData ReadCOM(this BinaryReader reader) => COMData.Deserialize(reader);
public static void WriteCOM(this BinaryWriter writer, COMData data) => data.Serialize(writer);
bool Send(COMData data) { if (!isConnected) return false; try { bool result = false; switch(data.type){ case COMData.TYPE.TEXT: result = SendText((COMData_text)data); break; case COMData.TYPE.IMAGE: result = SendImage((COMData_image)data); break; case COMData.TYPE.AUDIO: result = SendAudio((COMData_audio)data); break; default: break; } if(!result){ return false; } } catch { try { Close(); } catch (Exception ex) { Log.AddToDebug(ex.ToString()); return false; } return false; } return true; }