예제 #1
0
 //Inizializzazione della coneessione
 void Start()
 {
     HololensInfo.text = "Hololens Is Not Connected";
     checkHololens     = new HapticSock(ipAddress, port);
     communication     = new Thread(checkHololens.Client_Hololens_Checker);
     communication.Start();
 }
    //funzione chiamata prima del primo frame della scena
    void Start()
    {
        Time.fixedDeltaTime = 0.001f;

        //inizializzazione di diverse componenti testuali
        received.text       = null;
        LostConnection.text = null;

        //istanziazione della freccia
        arrow = Instantiate(arrow, new Vector3(0, 0.3f, 0), Quaternion.identity);
        arrow.SetActive(false);
        arrowMaterial = arrow.transform.GetChild(0).GetComponent <Renderer>();

        //Si cerca il gameobject raffigurante il cubo da inseguire
        CubeToChase = GameObject.Find("CubeToChase(Clone)");

        //Si creano le socket per la comunicazione, se c'è stato qualche problema si mostra un messaggio di errore
        //e si abilita il pulsante per tornare alla scena precedente
        client_for_receive = new HapticSock(ipAddress, 9001);
        client_for_send    = new HapticSock(ipAddress, 9002);
        if (client_for_receive.Connection_problem == 1 || client_for_send.Connection_problem == 1)
        {
            LostConnection.text = "ERROR: can't connect to the server";
            BackButton.SetActive(true);
        }

        //Se si è connessio al server si visualizza la scritta "Connected"
        if (client_for_receive.flag_connected == 1)
        {
            connected.text = "Connected";
            connectionOpen = 1;
        }
        else
        {
            connected.text = null;
        }

        //Se non ci sono stati problemi di connessione si fa partire la thread per ricevera dati dal server
        clientThreadReceive = new Thread(client_for_receive.Client_Receive);
        if (client_for_receive.Connection_problem == 0)
        {
            clientThreadReceive.Start();
        }

        //Se non ci sono stati problemi di connessione si invia un messaggio di inizializzazione al server
        if (client_for_receive.Connection_problem == 0 && client_for_send.Connection_problem == 0)
        {
            //Si deve dire al server che esercizio si sta facendo, il diametro delle sfere e dove stanno le sfere, il loro colore e la durezza della molla
            string InitialMessage = InitialMessageBuilder();
            client_for_send.Client_Send(InitialMessage);

            //Si fa partire un thread che rimane in attesa di un segnale dallo script LoadCorrectScene che indica che la fase di inizializzazione è finita e può iniziare l'esercizio
            signalTheStart = new Thread(SendStartMessage);
            signalTheStart.Start();
        }
    }
예제 #3
0
    //funzione chiamata prima del primo frame della scena
    void Start()
    {
        //inizializzazione di diverse componenti testuali
        repetitions         = 0;
        received.text       = null;
        LostConnection.text = null;
        repCounter.text     = "Repetitions: 0";

        //Si creano le socket per la comunicazione, se c'è stato qualche problema si mostra un messaggio di errore
        //e si abilita il pulsante per tornare alla scena precedente
        client_for_receive = new HapticSock(ipAddress, 9001);
        client_for_send    = new HapticSock(ipAddress, 9002);
        if (client_for_receive.Connection_problem == 1 || client_for_send.Connection_problem == 1)
        {
            LostConnection.text = "ERROR: can't connect to the server";
            BackButton.SetActive(true);
        }

        //Se si è connessio al server si visualizza la scritta "Connected"
        if (client_for_receive.flag_connected == 1)
        {
            connected.text = "Connected";
            connectionOpen = 1;
        }
        else
        {
            connected.text = null;
        }

        //Se non ci sono stati problemi di connessione si fa partire la thread per ricevera dati dal server
        clientThreadReceive = new Thread(client_for_receive.Client_Receive);
        if (client_for_receive.Connection_problem == 0)
        {
            clientThreadReceive.Start();
        }

        //Se non ci sono stati problemi di connessione si invia un messaggio di inizializzazione al server
        if (client_for_receive.Connection_problem == 0 && client_for_send.Connection_problem == 0)
        {
            //Si deve dire al server che esercizio si sta facendo, il diametro delle sfere e dove stanno le sfere, il loro colore e la durezza della molla
            string InitialMessage = InitialMessageBuilder();
            client_for_send.Client_Send(InitialMessage);

            //Si fa partire un thread che rimane in attesa di un segnale dallo script LoadCorrectScene che indica che la fase di inizializzazione è finita e può iniziare l'esercizio
            signalTheStart = new Thread(SendStartMessage);
            signalTheStart.Start();
        }
    }