Example #1
0
    void Start()
    {
        tempo         = 0;
        velocidade    = new Vector3(0, 0, 0);
        ultimaPosicao = seringa.transform.position;
        inicio        = false;
        termino       = false;

        // O relatório do experimento é salvo numa pasta gerada no Desktop, com o nome VIDAOdonto
        endereco = string.Concat(System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory), "\\VIDAOdonto\\");
        // Seu nome é o nome de usuário + horário do experimento
        endereco = string.Concat(@endereco, CarregarCena.getNome());
        endereco = string.Concat(@endereco, System.DateTime.Now.ToString("_HH_mm_ss"));
        endereco = string.Concat(@endereco, ".txt");

        // Se está no modo de REPLAY, cria arrays para armazenar os dados
        modoReplay = CarregarCena.getReplay();

        if (modoReplay)
        {
            listaTempo      = new ArrayList();
            listaPosicao    = new ArrayList();
            listaRotacao    = new ArrayList();
            listaVelocidade = new ArrayList();
        }
    }
Example #2
0
    void Update()
    {
        // TODO Atribuir ao bool seringaDetectada alguma função do Háptico que diga se há uma seringa na cena
        // Teoricamente, sempre há a seringa do háptico na cena, a não ser que ele perca conexão ou, futuramente, haja um método para pegar a seringa
        seringaDetectada = seringa;

        // Cálculo da velocidade
        if (seringaDetectada)
        {
            deltaTempo = Time.deltaTime;
        }
        else
        {
            deltaTempo += Time.deltaTime;
        }
        velocidade = seringa.transform.position - ultimaPosicao;
        if (seringaDetectada)
        {
            ultimaPosicao = seringa.transform.position;
        }

        if (!inicio && Input.GetKeyDown(KeyCode.S))            // Por enquanto, a condição para início da contagem é uma hotkey. Pode ser alterado.
        {
            inicio = true;
            InvokeRepeating("gravacao", 0, periodoDaColeta);
            InvokeRepeating("iniciaCronometro", 0, periodoDaColeta);

            texto += CarregarCena.getNome() + ", dados obtidos: " + Environment.NewLine + "tempo, posição, rotação, velocidade" + Environment.NewLine;
        }

        if (inicio && !termino && (Input.GetKeyDown(KeyCode.F)))
        {
            termino = true;
            atingiu = false;
        }

        if (inicio && termino && !imprimiu)
        {
            if (atingiu)
            {
                texto += "Acertou na regiao certa: " + anguloInjecao.ToString("F2") + " graus" + Environment.NewLine;
            }
            else
            {
                texto += "Não acertou" + Environment.NewLine;
            }
            using (System.IO.StreamWriter file =
                       new System.IO.StreamWriter(@endereco, true)) {
                file.WriteLine(texto);
            }
            imprimiu = true;
        }
    }