Example #1
0
 //Reset current task
 public void ResetTask(int i)
 {
     TaskIndex            = i;
     TrialIndex           = 0;
     ListIndex            = 0;
     IsTrialOn            = false;
     IsTrialFinished      = false;
     IsExperimentFinished = false;
     IsTaskFinished       = false;
     if (i == 0)
     {
         Studio.transform.localScale   = new Vector3(-1, 1, 1);
         BedPiano.transform.localScale = new Vector3(-1, 1, 1);
         TVWindow.transform.localScale = new Vector3(-1, 1, 1);
         Task0Source.Play();
         TargetIndex    = (int)UnityEngine.Random.Range(0, TotalObjNum);
         ListSource     = TargetObjects [TargetIndex].GetComponent <AudioSource> ();
         TargetPosition = TargetObjects [TargetIndex].transform.position;
     }
     else if (i == 1)
     {
         Studio.transform.localScale   = new Vector3(1, 1, 1);
         BedPiano.transform.localScale = new Vector3(1, 1, 1);
         TVWindow.transform.localScale = new Vector3(1, 1, 1);
         Task1Source.Play();
         TargetIndex    = (int)UnityEngine.Random.Range(0, TotalObjNum);
         ListSource     = TargetObjects [TargetIndex].GetComponent <AudioSource> ();
         TargetPosition = TargetObjects [TargetIndex].transform.position;
     }
     else if (i == 2)
     {
         Studio.transform.localScale   = new Vector3(1, 1, 1);
         BedPiano.transform.localScale = new Vector3(1, 1, 1);
         TVWindow.transform.localScale = new Vector3(1, 1, 1);
         var ChairRenderer = Chair.GetComponent <MeshRenderer> ();
         Chair.SetActive(true);
         Task2Source.Play();
         ResetTrial();
         TargetPosition = Chair.transform.position;
     }
     else if (i == 3)
     {
         Studio.transform.localScale   = new Vector3(1, 1, 1);
         BedPiano.transform.localScale = new Vector3(1, 1, 1);
         TVWindow.transform.localScale = new Vector3(1, 1, 1);
         IsSpotlightOn = true;
         var ChairRenderer = Chair.GetComponent <MeshRenderer> ();
         Chair.SetActive(false);
         Task3Source.Play();
         ResetTrial();
         TargetPosition = Key.transform.position;
     }
     FileName            = FolderPath + System.DateTime.Now.ToString("yy-MM-dd") + "-" + System.DateTime.Now.ToString("hh-mm-ss") + "_" + TaskIndex + "_" + FileIndex.ToString() + ".txt";
     recording           = new StreamWriter(new FileStream(@FileName, FileMode.Create));
     recording.AutoFlush = true;
     FileName2           = FolderPath + "Summary" + System.DateTime.Now.ToString("yy-MM-dd") + "-" + System.DateTime.Now.ToString("hh-mm-ss") + "_" + TaskIndex + "_" + FileIndex.ToString() + ".txt";
     summary             = new StreamWriter(new FileStream(@FileName2, FileMode.Create));
     summary.AutoFlush   = true;
 }
Example #2
0
 void ChairSpawn()
 {
     foreach (GameObject Chair in m_Stoelen)
     {
         int _Random = UnityEngine.Random.Range(0, m_ChairSpawns.Count);
         Chair.transform.position = m_ChairSpawns[_Random].transform.position;
         Destroy(m_ChairSpawns[_Random]);
         m_ChairSpawns.Remove(m_ChairSpawns[_Random]);
         Chair.SetActive(true);
     }
 }
    // Update is called once per frame
    void Update()
    {
        if (OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger))
        {
            // Wall position
            if (BuildStage == 0 && Building == true)
            {
                Wall.SetActive(true);

                WallYrot = ReturnReferencePosition().transform.eulerAngles.y;

                WallPosition = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _wallBuilder.UpdateWallPosition(WallPosition, WallYrot);

                // Save values
                PlayerPrefs.SetFloat("WallPositionX", WallPosition.x);
                PlayerPrefs.SetFloat("WallPositionY", WallPosition.y);
                PlayerPrefs.SetFloat("WallPositionZ", WallPosition.z);

                PlayerPrefs.SetFloat("WallRotationY", WallYrot);

                // Change instructions
                Ins1.SetActive(false);
                Ins2.SetActive(true);
            }

            // Desk position
            if (BuildStage == 1 && Building == true)
            {
                Desk.SetActive(true);

                DeskYrot = ReturnReferencePosition().transform.eulerAngles.y;

                DeskPosition = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _deskBuilder.UpdateDeskPosition(DeskPosition, DeskYrot);

                // Save values
                PlayerPrefs.SetFloat("DeskPositionX", DeskPosition.x);
                PlayerPrefs.SetFloat("DeskPositionY", DeskPosition.y);
                PlayerPrefs.SetFloat("DeskPositionZ", DeskPosition.z);

                PlayerPrefs.SetFloat("DeskRotationY", DeskYrot);

                // Change instructions
                Ins2.SetActive(false);
                Ins3.SetActive(true);
            }

            // Desk height
            if (BuildStage == 2 && Building == true)
            {
                DeskHeight = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _deskBuilder.UpdateDeskHeight(DeskHeight);

                // Save values
                PlayerPrefs.SetFloat("DeskHeightX", DeskHeight.x);
                PlayerPrefs.SetFloat("DeskHeightY", DeskHeight.y);
                PlayerPrefs.SetFloat("DeskHeightZ", DeskHeight.z);

                // Change instructions
                Ins3.SetActive(false);
                Ins4.SetActive(true);
            }


            // Desk right
            if (BuildStage == 3 && Building == true)
            {
                DeskRight = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _deskBuilder.UpdateDeskRight(DeskRight);

                // Save values
                PlayerPrefs.SetFloat("DeskRightX", DeskRight.x);
                PlayerPrefs.SetFloat("DeskRightY", DeskRight.y);
                PlayerPrefs.SetFloat("DeskRightZ", DeskRight.z);

                // Change instructions
                Ins4.SetActive(false);
                Ins5.SetActive(true);
            }

            // Desk left
            if (BuildStage == 4 && Building == true)
            {
                DeskLeft = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _deskBuilder.UpdateDeskLeft(DeskLeft);

                // Save values
                PlayerPrefs.SetFloat("DeskLeftX", DeskLeft.x);
                PlayerPrefs.SetFloat("DeskLeftY", DeskLeft.y);
                PlayerPrefs.SetFloat("DeskLeftZ", DeskLeft.z);

                ContentHolder.transform.position = AttachReference.transform.position;

                // Change instructions
                Ins5.SetActive(false);
                Ins6.SetActive(true);
            }

            // Desk back
            if (BuildStage == 5 && Building == true)
            {
                DeskBack = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _deskBuilder.UpdateDeskBack(DeskBack);

                // Save values
                PlayerPrefs.SetFloat("DeskBackX", DeskBack.x);
                PlayerPrefs.SetFloat("DeskBackY", DeskBack.y);
                PlayerPrefs.SetFloat("DeskBackZ", DeskBack.z);

                // Change instructions
                Ins6.SetActive(false);
                Ins7.SetActive(true);
            }

            // Button 1
            if (BuildStage == 6 && Building == true)
            {
                Button1.SetActive(true);

                Button1Pos = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);
                _deskBuilder.UpdateButton1(Button1Pos);

                // Save values
                PlayerPrefs.SetFloat("Button1X", Button1Pos.x);
                PlayerPrefs.SetFloat("Button1Y", Button1Pos.y);
                PlayerPrefs.SetFloat("Button1Z", Button1Pos.z);

                // Change instructions
                Ins7.SetActive(false);
                Ins8.SetActive(true);
            }

            // Button 2
            if (BuildStage == 7 && Building == true)
            {
                Button2.SetActive(true);

                Button2Pos = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);
                _deskBuilder.UpdateButton2(Button2Pos);

                // Save values
                PlayerPrefs.SetFloat("Button2X", Button2Pos.x);
                PlayerPrefs.SetFloat("Button2Y", Button2Pos.y);
                PlayerPrefs.SetFloat("Button2Z", Button2Pos.z);

                // Change instructions
                Ins8.SetActive(false);
                Ins9.SetActive(true);
            }

            // Button 3
            if (BuildStage == 8 && Building == true)
            {
                Button3.SetActive(true);

                Button3Pos = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);
                _deskBuilder.UpdateButton3(Button3Pos);

                // Save values
                PlayerPrefs.SetFloat("Button3X", Button3Pos.x);
                PlayerPrefs.SetFloat("Button3Y", Button3Pos.y);
                PlayerPrefs.SetFloat("Button3Z", Button3Pos.z);

                // Change instructions
                Ins9.SetActive(false);
                Ins10.SetActive(true);
            }

            // Button 4
            if (BuildStage == 9 && Building == true)
            {
                Button4.SetActive(true);

                Button4Pos = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);
                _deskBuilder.UpdateButton4(Button4Pos);

                // Save values
                PlayerPrefs.SetFloat("Button4X", Button4Pos.x);
                PlayerPrefs.SetFloat("Button4Y", Button4Pos.y);
                PlayerPrefs.SetFloat("Button4Z", Button4Pos.z);

                // Change instructions
                Ins10.SetActive(false);
                Ins11.SetActive(true);
            }

            // Chair position
            if (BuildStage == 10 && Building == true)
            {
                Chair.SetActive(true);

                ChairYrot = ReturnReferencePosition().transform.eulerAngles.y;

                ChairPosition = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairPosition(ChairPosition, ChairYrot);

                // Save values
                PlayerPrefs.SetFloat("ChairPositionX", ChairPosition.x);
                PlayerPrefs.SetFloat("ChairPositionY", ChairPosition.y);
                PlayerPrefs.SetFloat("ChairPositionZ", ChairPosition.z);

                PlayerPrefs.SetFloat("ChairRotationY", ChairYrot);

                // Change instructions
                Ins11.SetActive(false);
                Ins12.SetActive(true);
            }

            // Chair height
            if (BuildStage == 11 && Building == true)
            {
                ChairHeight = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairHeight(ChairHeight);

                // Save values
                PlayerPrefs.SetFloat("ChairHeightX", ChairHeight.x);
                PlayerPrefs.SetFloat("ChairHeightY", ChairHeight.y);
                PlayerPrefs.SetFloat("ChairHeightZ", ChairHeight.z);

                // Change instructions
                Ins12.SetActive(false);
                Ins13.SetActive(true);
            }

            // Chair right
            if (BuildStage == 12 && Building == true)
            {
                ChairRight = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairRight(ChairRight);

                // Save values
                PlayerPrefs.SetFloat("ChairRightX", ChairRight.x);
                PlayerPrefs.SetFloat("ChairRightY", ChairRight.y);
                PlayerPrefs.SetFloat("ChairRightZ", ChairRight.z);

                // Change instructions
                Ins13.SetActive(false);
                Ins14.SetActive(true);
            }

            // Chair left
            if (BuildStage == 13 && Building == true)
            {
                ChairLeft = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairLeft(ChairLeft);

                // Save values
                PlayerPrefs.SetFloat("ChairLeftX", ChairLeft.x);
                PlayerPrefs.SetFloat("ChairLeftY", ChairLeft.y);
                PlayerPrefs.SetFloat("ChairLeftZ", ChairLeft.z);

                // Change instructions
                Ins14.SetActive(false);
                Ins15.SetActive(true);
            }

            // Chair back
            if (BuildStage == 14 && Building == true)
            {
                ChairBack = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairBack(ChairBack);

                // Save values
                PlayerPrefs.SetFloat("ChairBackX", ChairBack.x);
                PlayerPrefs.SetFloat("ChairBackY", ChairBack.y);
                PlayerPrefs.SetFloat("ChairBackZ", ChairBack.z);

                // Change instructions
                Ins15.SetActive(false);
                Ins16.SetActive(true);
            }

            // Chair back height
            if (BuildStage == 15 && Building == true)
            {
                ChairBackHeight = new Vector3(ReturnReferencePosition().transform.position.x, ReturnReferencePosition().transform.position.y, ReturnReferencePosition().transform.position.z);

                _chairBuilder.UpdateChairBackHeight(ChairBackHeight);

                // Save values
                PlayerPrefs.SetFloat("ChairBackHeightX", ChairBackHeight.x);
                PlayerPrefs.SetFloat("ChairBackHeightY", ChairBackHeight.y);
                PlayerPrefs.SetFloat("ChairBackHeightZ", ChairBackHeight.z);

                // Change instructions
                Ins16.SetActive(false);
                InstructionCanvas.SetActive(false);

                // Save object positions
                CombineScene();

                PlayerPrefs.SetInt("IsSavedData", 1);

                LaserPointer.SetActive(true);
            }

            if (BuildStage > 15 && Building == true)
            {
                ResetGlobalPosition();
                LaserPointer.SetActive(true);
            }

            if (Building == true)
            {
                BuildStage++;
            }
        }
    }