public Test(string testFileName) { try { LoadFailed = false; var doc = new XmlDocument(); doc.Load(testFileName); var i = doc.SelectSingleNode("//Info"); Author = i.Attributes["author"].Value; Language = i.Attributes["lang"].Value; Title = i.Attributes["title"].Value; Lesson = i.Attributes["lesson"].Value; TimeToAnswer = int.Parse(i.Attributes["answertime"].Value); TimeToTest = int.Parse(i.Attributes["testtime"].Value); Questions = new List <Question>(); doc.SelectNodes("//Question") .Cast <XmlElement>() .OrderBy(qa => int.Parse(qa.Attributes["id"].Value)) .ToList() .ForEach(q => { var qx = new Question { ID = int.Parse(q.Attributes["id"].Value), AnswerIDs = q.Attributes["answer"].Value.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray(), Title = q.Attributes["title"].Value, Type = (Question.TypeEnum)Enum.Parse(typeof(Question.TypeEnum), q.Attributes["type"].Value), Selection = (Question.SelectionEnum)Enum.Parse(typeof(Question.SelectionEnum), q.Attributes["selection"].Value), Text = q.ChildNodes[0].InnerText.Trim(), Answers = new List <Question.Answer>() }; doc.SelectNodes($"//Question[@id='{qx.ID}']/Answer") .Cast <XmlElement>() .OrderBy(qa => int.Parse(qa.Attributes["id"].Value)) .ToList() .ForEach(a => { var qa = new Question.Answer() { ID = int.Parse(a.Attributes["id"].Value), Value = qx.Type == Question.TypeEnum.txt ? (object)a.ChildNodes[0].Value : (object)Image.FromStream(new MemoryStream(Convert.FromBase64String(a.ChildNodes[0].Value.Substring(4)))) }; qx.Answers.Add(qa); }); Questions.Add(qx); }); TimeOfStart = DateTime.Now; Answers = new int[Questions.Count][]; doc = null; } catch (Exception ex) { LoadFailed = true; LoadFailedWithError = ex.Message; } }
private void GetData() { cQuestion.Text = QuestionText.Text; // Получить ответы пользователя if (cQuestion is Question.Select) { ((Question.Select)cQuestion).Answers.Clear(); foreach (var answer in SelectAnswer.Items) { CheckBox check = answer as CheckBox; TextBox textBox = check.Content as TextBox; Question.Answer answ = new Question.Answer() { Right = (bool)check.IsChecked, Text = textBox.Text }; ((Question.Select)cQuestion).Answers.Add(answ); } } if (cQuestion is Question.Radio) { ((Question.Radio)cQuestion).Answers.Clear(); foreach (var answer in RadioAnswer.Items) { RadioButton check = answer as RadioButton; TextBox textBox = check.Content as TextBox; Question.Answer answ = new Question.Answer() { Right = (bool)check.IsChecked, Text = textBox.Text }; ((Question.Radio)cQuestion).Answers.Add(answ); } } if (cQuestion is Question.Edit) { ((Question.Edit)cQuestion).answer = TextAnswer.Text; } }
public void OnAnswerClicked(int buttonIndex) { bool answerCorrect = false; Debug.LogAssertion("BUTTON INDEX: " + buttonIndex + " RIGHT ANSWER: " + rightAnswerIndex); if (buttonIndex == rightAnswerIndex) { teamManager.localPlayer.IncrementScore(); trueFalse.color = trueAnswerColor; answerCorrect = true; } else { trueFalse.color = falseAnswerColor; answerCorrect = false; } answerButtons[buttonIndex].GetComponent <EWZButtonState>().AnswerHit(answerCorrect); var answer = new Question.Answer(); answer.team = teamManager.localPlayer.myTeam.teamNr; answer.playerName = ParseUser.CurrentUser.Username; answer.playerId = ParseUser.CurrentUser.ObjectId; answer.time = System.DateTime.Now.ToShortTimeString(); answer.correct = answerCorrect; //questionManager.AddAnswer(answer); teamManager.localPlayer.CmdAddAnswer(answer); answerButtons.Interactable(false); }
public static String toString(this Question.Answer a) { return("{ " + "\n" + "PId: " + a.playerId + "\n" + "PName: " + a.playerName + "\n" + "Time: " + a.time + "\n" + "AnswerCorrect: " + a.correct + "\n" + "team: " + a.team + "\n" + "}\n"); }
void setOption(Option opt, Question.Answer questionOption) { opt.isCorrect = questionOption.isCorrect; opt.displayedText.text = questionOption.text; }
public void CmdAddAnswer(Question.Answer answer) { questionManager.AddAnswer(answer); }