//Inicializaçao do controlador void Start() { sensor = GameObject.Find("SensorIV").GetComponent<Sensor_Infra_Vermelho>(); //atribui o sensor a variavel obstaculo = GameObject.Find("Obstaculo").transform; //atribui o objeto a variavel }
void Update() { int tamanho = 0; //tamanho da mensagem recebida if (server.Pending()) { cliente = server.AcceptSocket(); //aceita conexao cliente.Blocking = false; byte[] mensagem = new byte[1024]; string strMessage = ""; while (!strMessage.Contains(";")) { try{ tamanho = cliente.Receive(mensagem); strMessage = strMessage + System.Text.Encoding.UTF8.GetString(mensagem); }catch (System.Exception e) {} } string comando = strMessage.Split(';')[0]; byte[] envioBuffer = new byte[4]; envioBuffer[0] = (byte)'a'; envioBuffer[1] = (byte)'c'; // mensagem a ser enviada ao cliente envioBuffer[2] = (byte)'k'; envioBuffer[3] = 10; Servo_Motor_Rotacao [] servos = GameObject.FindObjectsOfType <Servo_Motor_Rotacao>(); if (strMessage.Contains("distancia")) { Sensor_Infra_Vermelho sensorIV = GameObject.FindObjectOfType <Sensor_Infra_Vermelho>(); float distancia = sensorIV.GetDistancia(); envioBuffer[0] = (byte)distancia; envioBuffer[1] = 10; } else { for (int i = 0; i < servos.Length; i++) { if (strMessage.Contains("frente")) { servos[i].velocidade = 150; servos[i].direcao_rotacao = 1 - i; } else if (strMessage.Contains("tras")) { servos[i].velocidade = 150; servos[i].direcao_rotacao = i; } else if (strMessage.Contains("direita")) { servos[i].velocidade = 150; servos[i].direcao_rotacao = 0; } else if (strMessage.Contains("esquerda")) { servos[i].velocidade = 150; servos[i].direcao_rotacao = 1; } else if (strMessage.Contains("parar")) { servos[i].velocidade = 0; } } } cliente.Send(envioBuffer); } }