Пример #1
0
        public void SaveCarhartt(Carhartt newSession)
        {
            if (null == PacientsData[CurrentPacient.ID].carhartts)
            {
                PacientsData[CurrentPacient.ID].carhartts = new List <Carhartt>();
            }
            bool found = false;

            for (int i = 0; i < PacientsData[CurrentPacient.ID].carhartts.Count; i++)
            {
                if (PacientsData[CurrentPacient.ID].carhartts[i].tone.FrequencyIndex == newSession.tone.FrequencyIndex)
                {
                    if (PacientsData[CurrentPacient.ID].carhartts[i].tone.Ear == newSession.tone.Ear)
                    {
                        found = true;
                        PacientsData[CurrentPacient.ID].carhartts[i] = newSession;
                        break;
                    }
                }
            }

            if (!found)
            {
                PacientsData[CurrentPacient.ID].carhartts.Add(newSession);
            }

            PacientsData[CurrentPacient.ID].lastTestDate = DateTime.Now.ToString("dd/MM/yyyy");

            SavePacientData();
        }
Пример #2
0
        private void GraphCarhartt(Carhartt session)
        {
            var parent = CarharttParents[session.tone.FrequencyIndex - 2];

            var toneEvent         = session.tonePlayEvents.pairs[0];
            var pacientPushEvents = session.pacientPushEvents.pairs;

            parent.GetChild(0).GetComponent <Text>().text = ((int)session.tonePlayEvents.GetLongestDuration()).ToString();

            foreach (var pressedEvent in pacientPushEvents)
            {
                if (pressedEvent.Duration() > 1)
                {
                    GameObject instantiatedLine = null;
                    if (session.tone.Ear == Tone.EarSide.Left)
                    {
                        instantiatedLine = Instantiate(CarharttLeftPrefab, parent);
                    }
                    else
                    {
                        instantiatedLine = Instantiate(CarharttRightPrefab, parent);
                    }

                    LineRenderer renderer = instantiatedLine.transform.GetChild(0).GetComponent <LineRenderer>();

                    float width = renderer.gameObject.GetComponent <RectTransform>().sizeDelta.x;
                    if (session.tone.Ear == Tone.EarSide.Left)
                    {
                        renderer.SetPosition(0, new Vector3((pressedEvent.start - toneEvent.start) * width / 60, 6, 0));
                        renderer.SetPosition(1, new Vector3((pressedEvent.end - toneEvent.start) * width / 60, 6, 0));

                        instantiatedLine.transform.GetChild(1).localPosition = new Vector3(
                            (pressedEvent.end - toneEvent.start) * width / 60 - 10, 18, 0);
                    }
                    else
                    {
                        renderer.SetPosition(0, new Vector3((pressedEvent.start - toneEvent.start) * width / 60, -8, 0));
                        renderer.SetPosition(1, new Vector3((pressedEvent.end - toneEvent.start) * width / 60, -8, 0));

                        instantiatedLine.transform.GetChild(1).localPosition = new Vector3(
                            (pressedEvent.end - toneEvent.start) * width / 60 - 10, -20, 0);
                    }

                    instantiatedLine.transform.GetChild(1).GetComponent <Text>().text = pressedEvent.Duration().ToString("0.0");
                }
            }
        }
Пример #3
0
        public override void StartTest()
        {
            if (!OngoingTest)
            {
                base.StartTest();
                Debug.Log("Carhartt test Started.");
                currentSession = new Carhartt(carToneManager.freqIndex, carToneManager.currentDB, this, ear);


                for (int i = 0; i < interactableDuringSession.Length; i++)
                {
                    previousState[i] = interactableDuringSession[i].interactable;
                    interactableDuringSession[i].interactable = false;
                }

                pacientButton.onButtonDown.AddListener(currentSession.PacientButtonDown);
                pacientButton.onButtonUp.AddListener(currentSession.PacientButtonUp);
                pacientButton.onButtonDown.AddListener(LedOn);
                pacientButton.onButtonUp.AddListener(LedOff);

                StartCoroutine(SessionEndRoutine());
            }
        }