Esempio n. 1
0
 //This is the listener that is called by the event manager
 //It transforms and adds the received report to the reports list
 void Record(string name, VRPNButton.ButtonReport report)
 {
     if (firstReport)
     {
         firstTime_sec = report.msg_time.tv_sec;
         firstTime_usec = report.msg_time.tv_usec;
         firstReport = false;
     }
     if (report.msg_time.tv_usec < firstTime_usec)
     {
         report.msg_time.tv_sec = report.msg_time.tv_sec - (firstTime_sec + 1);
         report.msg_time.tv_usec = (report.msg_time.tv_usec + 1000000) - firstTime_usec;
     }
     else
     {
         report.msg_time.tv_sec = report.msg_time.tv_sec - firstTime_sec;
         report.msg_time.tv_usec = report.msg_time.tv_usec - firstTime_usec;
     }
     VRPNButton.ButtonReportNew newReport = new VRPNButton.ButtonReportNew();
     VRPNManager.TimeValNew newMsgTime = new VRPNManager.TimeValNew();
     newMsgTime.tv_sec = (int)report.msg_time.tv_sec;
     newMsgTime.tv_usec = (int)report.msg_time.tv_usec;
     newReport.msg_time = newMsgTime;
     newReport.button = report.button;
     newReport.state = report.state;
     data.list.Add(newReport);
 }
Esempio n. 2
0
    //VRPNButtonRecording Constructor
    public VRPNButtonRecording(string nName, float nTime, VRPNButton.ButtonReports nData)
    {
        name = nName;
        reportTime = nTime;
        data = nData;

        e = data.list.GetEnumerator();

        while (e.MoveNext())
        {
            VRPNButton.ButtonReportNew report = e.Current;
            int test;
            if (!buttons.TryGetValue(report.button, out test))
            {
                buttons.Add(report.button, report.button);
            }
            lastTime = report.msg_time.tv_sec + (report.msg_time.tv_usec / 1000000f);
        }

        e = data.list.GetEnumerator();
    }
Esempio n. 3
0
    //Método que se encarga de estar pendiente de los mensajes que se envían desde los botones del dispositivo
    void CambioEnUnBoton(string name, VRPNButton.ButtonReport report)
    {
        //Info para el Log
        if (estaMostrandoInfoBoton)
        {
            Debug.Log("Name: " + name + " Button: " + report.button + " State:" + report.state);
        }

        //Si el botón del que se recibe reporte es el izquierdo
        if(report.button == 0)
        {
            //Si el reporte es que se oprimió el botón
            if (report.state == 1)
            {
                cubo.GetComponent<MeshRenderer>().material.color = Color.red;
            }
            //Si el reporte es que se soltó el botón
            else
            {
                cubo.GetComponent<MeshRenderer>().material.color = colorOriginal;
            }
        }
        //Si el botón del que se recibe reporte es el derecho
        else if (report.button == 1)
        {
            //Si el reporte es que se oprimió el botón
            if (report.state == 1)
            {
                cubo.GetComponent<MeshRenderer>().material.color = Color.blue;
            }
            //Si el reporte es que se soltó el botón
            else
            {
                cubo.GetComponent<MeshRenderer>().material.color = colorOriginal;
            }
        }
    }
Esempio n. 4
0
    //Método que se encarga de estar pendiente de los mensajes que se envían desde los botones del dispositivo
    void CambioEnUnBoton(string name, VRPNButton.ButtonReport report)
    {
        //Info para el Log
        if (estaMostrandoInfoBoton)
        {
            Debug.Log("Name: " + name + " Button: " + report.button + " State:" + report.state);
        }

        //Si el control que se está revisando es el izquierdo
        if (sensor == 0)
        {
            switch (report.button)
            {
                //Boton del medio
                case 0:
                    if (report.state == 0)
                    {
                        capsulas[0].localScale = capsulasEscalaOriginal[0];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[0].localScale = new Vector3(capsulasEscalaOriginal[0].x, capsulasEscalaOriginal[0].y * 2, capsulasEscalaOriginal[0].z);
                    }
                    break;
                //Boton 1
                case 1:
                    if (report.state == 0)
                    {
                        capsulas[1].localScale = capsulasEscalaOriginal[1];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[1].localScale = new Vector3(capsulasEscalaOriginal[1].x, capsulasEscalaOriginal[1].y * 2, capsulasEscalaOriginal[1].z);
                    }
                    break;
                //Boton 2
                case 2:
                    if (report.state == 0)
                    {
                        capsulas[2].localScale = capsulasEscalaOriginal[2];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[2].localScale = new Vector3(capsulasEscalaOriginal[2].x, capsulasEscalaOriginal[2].y * 2, capsulasEscalaOriginal[2].z);
                    }
                    break;
                //Boton 3
                case 3:
                    if (report.state == 0)
                    {
                        capsulas[3].localScale = capsulasEscalaOriginal[3];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[3].localScale = new Vector3(capsulasEscalaOriginal[3].x, capsulasEscalaOriginal[3].y * 2, capsulasEscalaOriginal[3].z);
                    }
                    break;
                //Boton 4
                case 4:
                    if (report.state == 0)
                    {
                        capsulas[4].localScale = capsulasEscalaOriginal[4];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[4].localScale = new Vector3(capsulasEscalaOriginal[4].x, capsulasEscalaOriginal[4].y * 2, capsulasEscalaOriginal[4].z);
                    }
                    break;
                //Bumper
                case 5:
                    if (report.state == 0)
                    {
                        capsulas[5].localScale = capsulasEscalaOriginal[5];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[5].localScale = new Vector3(capsulasEscalaOriginal[5].x, capsulasEscalaOriginal[5].y * 2, capsulasEscalaOriginal[5].z);
                    }
                    break;
                //Joystick
                case 6:
                    if (report.state == 0)
                    {
                        capsulas[6].localScale = capsulasEscalaOriginal[6];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[6].localScale = new Vector3(capsulasEscalaOriginal[6].x, capsulasEscalaOriginal[6].y * 2, capsulasEscalaOriginal[6].z);
                    }
                    break;
                default:
                    break;
            }
        }
        //Si el control que se está revisando es el derecho
        else if (sensor == 1)
        {
            switch (report.button)
            {
                //Boton del medio
                case 7:
                    if (report.state == 0)
                    {
                        capsulas[0].localScale = capsulasEscalaOriginal[0];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[0].localScale = new Vector3(capsulasEscalaOriginal[0].x, capsulasEscalaOriginal[0].y * 2, capsulasEscalaOriginal[0].z);
                    }
                    break;
                //Boton 1
                case 8:
                    if (report.state == 0)
                    {
                        capsulas[1].localScale = capsulasEscalaOriginal[1];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[1].localScale = new Vector3(capsulasEscalaOriginal[1].x, capsulasEscalaOriginal[1].y * 2, capsulasEscalaOriginal[1].z);
                    }
                    break;
                //Boton 2
                case 9:
                    if (report.state == 0)
                    {
                        capsulas[2].localScale = capsulasEscalaOriginal[2];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[2].localScale = new Vector3(capsulasEscalaOriginal[2].x, capsulasEscalaOriginal[2].y * 2, capsulasEscalaOriginal[2].z);
                    }
                    break;
                //Boton 3
                case 10:
                    if (report.state == 0)
                    {
                        capsulas[3].localScale = capsulasEscalaOriginal[3];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[3].localScale = new Vector3(capsulasEscalaOriginal[3].x, capsulasEscalaOriginal[3].y * 2, capsulasEscalaOriginal[3].z);
                    }
                    break;
                //Boton 4
                case 11:
                    if (report.state == 0)
                    {
                        capsulas[4].localScale = capsulasEscalaOriginal[4];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[4].localScale = new Vector3(capsulasEscalaOriginal[4].x, capsulasEscalaOriginal[4].y * 2, capsulasEscalaOriginal[4].z);
                    }
                    break;
                //Bumper
                case 12:
                    if (report.state == 0)
                    {
                        capsulas[5].localScale = capsulasEscalaOriginal[5];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[5].localScale = new Vector3(capsulasEscalaOriginal[5].x, capsulasEscalaOriginal[5].y * 2, capsulasEscalaOriginal[5].z);
                    }
                    break;
                //Joystick
                case 13:
                    if (report.state == 0)
                    {
                        capsulas[6].localScale = capsulasEscalaOriginal[6];
                    }
                    else if (report.state == 1)
                    {
                        capsulas[6].localScale = new Vector3(capsulasEscalaOriginal[6].x, capsulasEscalaOriginal[6].y * 2, capsulasEscalaOriginal[6].z);
                    }
                    break;
                default:
                    break;
            }
        }
    }