Пример #1
0
        /// <summary>
        /// 사용자가 Confrim 누르기 전 입력을 완료했다고 판단 되었을 때 실행되는 이벤트 핸들러
        /// </summary>
        /// <param name="sender">이벤트 발생 객체</param>
        /// <param name="args">이벤트 발생 정보</param>
        public void OnAnswerSelected(GameObject sender, ExperimentActionEvent.EventArgs args)
        {
            ExperimentState currentStateData = data.States[currentState];

            switch (currentStateData.ContentType)
            {
            case ExperimentContentType.Number:
            case ExperimentContentType.MultipleSelection:
                if (args.Answers.Length >= currentStateData.AnswerCount)
                {
                    ConfirmButton.interactable = true;

                    //주의: State List가 바뀌면 실제 성별이나 생일을 묻는 질문인지 검토 필요
                    switch (currentState)
                    {
                    case 0:
                        EventLogger.SetID(args.Answers[0]);
                        break;

                    case 1:
                        EventLogger.LogGender((Gender)args.Answers[0] + 1);
                        break;

                    case 4:
                        EventLogger.LogBirth(args.Answers[0]);
                        break;
                    }
                }
                else
                {
                    ConfirmButton.interactable = false;
                }
                break;

            case ExperimentContentType.NumberWithRandom:
            case ExperimentContentType.MultipleSelectionWithRandom:
                if (args.Answers.Length < currentStateData.AnswerCount)
                {
                    ConfirmButton.interactable = false;
                    break;
                }
                bool isAllCorrect = true;
                foreach (int answer in args.Answers)
                {
                    bool isCorrect = false;
                    foreach (int correctAnswer in correctAnswers)
                    {
                        if (correctAnswer == answer)
                        {
                            isCorrect = true;
                        }
                    }

                    isAllCorrect = isAllCorrect && isCorrect;
                }
                ConfirmButton.interactable = isAllCorrect;
                break;
            }
        }
Пример #2
0
 public void OnAnswerNotCompleted(GameObject sender, ExperimentActionEvent.EventArgs args)
 {
     ConfirmButton.interactable = false;
 }
Пример #3
0
 public void OnReadyToStartExperiment(GameObject sender, ExperimentActionEvent.EventArgs args)
 {
     ConfirmButton.interactable = true;
 }