/// <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; } }
public void OnAnswerNotCompleted(GameObject sender, ExperimentActionEvent.EventArgs args) { ConfirmButton.interactable = false; }
public void OnReadyToStartExperiment(GameObject sender, ExperimentActionEvent.EventArgs args) { ConfirmButton.interactable = true; }