public void ResetData() { // Get data from Player Prefs string jsonOfData; Quizes quizes = new Quizes(); for (int i = 0; i < 20; ++i) { jsonOfData = PlayerPrefs.GetString("QuizzesDataTable" + i); if (jsonOfData.Length < 1) { break; } QuizEntry quiz = JsonUtility.FromJson <QuizEntry>(jsonOfData); quizes.quizEntryList.Insert(i, quiz); } for (int i = 0; i < quizEntryTransformList.Count; ++i) { Destroy(quizEntryTransformList[i].gameObject); } quizEntryTransformList.Clear(); quizEntryList.Clear(); quizEntryList = quizes.quizEntryList; quizEntryTransformList = new List <Transform>(); foreach (QuizEntry quizEntry in quizEntryList) { CreateQuizeEntryTransform(quizEntry, entryContainer, quizEntryTransformList); } }
private void LoadDataFromServer() { int lastquestionId = quizEntryList.Count; if (dataFromServer.Length < 4) { idInput.text = ""; idInput.text = "No data found"; idInput.GetComponent <Image>().color = new Color(1f, 0.25f, 0.25f); return; } Debug.Log(dataFromServer); dataFromServer = dataFromServer.Substring(1, dataFromServer.Length - 3); Debug.Log(dataFromServer); string[] temp = dataFromServer.Split(new string[] { "}," }, StringSplitOptions.None); List <QuizEntryModed> quizes = new List <QuizEntryModed>(); for (int i = 0; i < temp.Length; ++i) { temp[i] += "}"; Debug.Log(temp[i]); QuizEntryModed quiz = JsonUtility.FromJson <QuizEntryModed>(temp[i]); quizes.Add(quiz); } for (int i = 0; i < quizes.Count; ++i) { QuizEntry newEntry = new QuizEntry { id = ++lastquestionId, question = quizes[i].question, correctAnswer = quizes[i].correctAnswer, wrongAnswer = quizes[i].wrongAnswer1, wrongAnswer2 = quizes[i].wrongAnswer2 }; if (newEntry.id + 1 < 21) { Dropdown.OptionData data = new Dropdown.OptionData { text = (newEntry.id + 1).ToString() }; idsDropdown.options.Add(data); } Debug.Log(newEntry); quizEntryList.Add(newEntry); CreateQuizeEntryTransform(newEntry, entryContainer, quizEntryTransformList); } idInput.text = ""; idInput.GetComponent <Image>().color = new Color(0.52f, 0.52f, 0.52f); }
public void AddNewQuiz() { bool isDataExists = true; if (questionInput.text.Length < 1) { questionInput.GetComponent <Image>().color = new Color(1f, 0.25f, 0.25f); isDataExists = false; } if (correctAnswerInput.text.Length < 1) { correctAnswerInput.GetComponent <Image>().color = new Color(1f, 0.25f, 0.25f); isDataExists = false; } if (wrongAnswerInput.text.Length < 1) { wrongAnswerInput.GetComponent <Image>().color = new Color(1f, 0.25f, 0.25f); isDataExists = false; } if (!isDataExists) { return; } QuizEntry newQuiz = new QuizEntry { id = idsDropdown.value + 1, question = questionInput.text, correctAnswer = correctAnswerInput.text, wrongAnswer = wrongAnswerInput.text, wrongAnswer2 = wrongAnswer2Input.text }; if (newQuiz.id > quizEntryList.Count) { quizEntryList.Add(newQuiz); CreateQuizeEntryTransform(newQuiz, entryContainer, quizEntryTransformList); } else { quizEntryList.RemoveAt(newQuiz.id - 1); quizEntryList.Insert(newQuiz.id - 1, newQuiz); Destroy(quizEntryTransformList[newQuiz.id - 1].gameObject); quizEntryTransformList.RemoveAt(newQuiz.id - 1); CreateQuizeEntryTransform(newQuiz, entryContainer, quizEntryTransformList); } idsDropdown.value = 0; questionInput.text = ""; correctAnswerInput.text = ""; wrongAnswerInput.text = ""; wrongAnswer2Input.text = ""; questionInput.GetComponent <Image>().color = new Color(0.52f, 0.52f, 0.52f); correctAnswerInput.GetComponent <Image>().color = new Color(0.52f, 0.52f, 0.52f); wrongAnswerInput.GetComponent <Image>().color = new Color(0.52f, 0.52f, 0.52f); }
private void AddQuizEntry(int id, string question, string correctAnswer, string wrongAnswer, string wrongAnswer2) { QuizEntry newEntry = new QuizEntry { id = id, question = question, correctAnswer = correctAnswer, wrongAnswer = wrongAnswer, wrongAnswer2 = wrongAnswer2 }; CreateQuizeEntryTransform(newEntry, entryContainer, quizEntryTransformList); }
private void Awake() { entryContainer = transform.Find("AllQuizzesContainer"); if (entryContainer == null) { return; } entryTemplate = entryContainer.Find("EntryTemplate"); if (entryTemplate == null) { return; } entryTemplate.gameObject.SetActive(false); // Get data from Player Prefs Quizes quizes = new Quizes(); for (int i = 0; i < 20; i++) { Debug.Log(PlayerPrefs.GetString("QuizzesDataTable" + i)); string jsonOfData = PlayerPrefs.GetString("QuizzesDataTable" + i); if (jsonOfData.Length < 1) { break; } QuizEntry quizFromDB = JsonUtility.FromJson <QuizEntry>(jsonOfData); quizes.quizEntryList.Add(quizFromDB); } // quizEntryList = quizes.quizEntryList; quizEntryTransformList = new List <Transform>(); foreach (QuizEntry quizEntry in quizEntryList) { CreateQuizeEntryTransform(quizEntry, entryContainer, quizEntryTransformList); } idsDropdown.options.Clear(); for (int i = 0; i < quizEntryList.Count + 1; ++i) { Dropdown.OptionData data = new Dropdown.OptionData { text = (i + 1).ToString() }; idsDropdown.options.Add(data); } }
/// <summary> /// Update the quizEntry /// </summary> /// <param name="quizentry">The quizEntryId.</param> public void updateQuizEntry(QuizEntryViewModel quizentry) { try { QuizEntry _quizEntryEntity = ObjectMapper.Map <QuizEntryViewModel, Model.Entities.QuizEntry>(quizentry); _quizEntryEntity.QuizResult = quizentry.QuizResult; QuizEntryManager.Update(_quizEntryEntity); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } }
/// <summary> /// Add a new quiz entry for a new Quizz and student /// </summary> /// <param name="quizentry">QuizEntryViewModel object </param> public int AddQuizEntry(QuizEntryViewModel quizentry) { try { QuizEntry _quizEntryEntity = ObjectMapper.Map <QuizEntryViewModel, Model.Entities.QuizEntry>(quizentry); _quizEntryEntity.Quiz_Id = quizentry.Quiz_Id; _quizEntryEntity.Student_Id = quizentry.Student_Id; QuizEntry NewQuizEntry = QuizEntryManager.Add(_quizEntryEntity); return(NewQuizEntry.Id); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); return(0); } }
/// <summary> /// Get the quiz entry by quiz Id and student Id /// </summary> /// <param name="quizId"></param> /// <param name="studentId"></param> /// <returns></returns> public Model.Entities.QuizEntry GetQuizEntryByStudentAndQuiz(int quizId, int studentId) { Model.Entities.QuizEntry quizEntryModel = new Model.Entities.QuizEntry(); try { // Fetch Active Tasks IQueryable <QuizEntry> quizzes = from cr in this.Context.Set <QuizEntry>().Where(cr => cr.Quiz_Id == quizId && cr.Student_Id == studentId) select cr; QuizEntry quizEntityList = quizzes.ToList().FirstOrDefault(); // Return Tasks quizEntryModel = ObjectMapper.Map <QuizEntry, Model.Entities.QuizEntry>(quizEntityList); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionShielding); } return(quizEntryModel); }
private void CreateQuizeEntryTransform(QuizEntry quizEntry, Transform container, List <Transform> transformList) { float templateHeight = 30f; Transform entryTransform = Instantiate(entryTemplate, container); RectTransform entryRectTransform = entryTransform.GetComponent <RectTransform>(); entryRectTransform.anchoredPosition = new Vector2(0, -templateHeight * transformList.Count + 12.5f); entryTransform.gameObject.SetActive(true); entryTransform.Find("id").GetComponent <Text>().text = quizEntry.id.ToString(); entryTransform.Find("Question").GetComponent <Text>().text = quizEntry.question; entryTransform.Find("CorrectAnswer").GetComponent <Text>().text = quizEntry.correctAnswer; entryTransform.Find("WrongAnswer1").GetComponent <Text>().text = quizEntry.wrongAnswer; entryTransform.Find("WrongAnswer2").GetComponent <Text>().text = quizEntry.wrongAnswer2; entryTransform.gameObject.name = "quiz" + transformList.Count + 1; transformList.Add(entryTransform); }
private void PlaceStartTrigger(TriggerEventHandler callback, int lvl) { GameObject go = Instantiate(startGate); float x = startCol * hallWidth; float y = -5.00f; float z = startRow * hallWidth; go.transform.position = new Vector3(x - 10.82f, y, z - 3.15f); go.tag = "Generated"; go.AddComponent <BoxCollider>(); if (PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1)).Length > 5) { QuizEntry quiz = new QuizEntry(); quiz = JsonUtility.FromJson <QuizEntry>(PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1))); go.transform.Find("Cube (3)").GetComponent <Transform>().Find("Cube").GetComponent <Transform>().Find("Canvas").GetComponent <Transform>().Find("Button").GetComponent <Transform>().Find("Text").GetComponent <Text>().text = quiz.question; } // Set is trigger //mc.convex = true; GameObject startSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); startSphere.transform.position = new Vector3(startCol * hallWidth, .5f, startRow * hallWidth); startSphere.name = "Start Trigger"; startSphere.tag = "Generated"; // Set is trigger startSphere.GetComponent <SphereCollider>().isTrigger = true; // Set material startSphere.GetComponent <MeshRenderer>().enabled = false; TriggerEventRouter tc = startSphere.AddComponent <TriggerEventRouter>(); tc.callback = callback; }
private void PlaceGoalTrigger(TriggerEventHandler callback, int lvl) { bool isSecond = false; Debug.Log("Count of goald = " + goalPos.Count); foreach (Point point in goalPos) { GameObject go = Instantiate(exitGate); float x = point.posY * hallWidth; float y = 14.18f; float z = point.posX * hallWidth; if (point.posX == 0) { go.transform.position = new Vector3(x - 0.41f, y, z + 9.845f); go.transform.eulerAngles = new Vector3( go.transform.eulerAngles.x, go.transform.eulerAngles.y - 180f, go.transform.eulerAngles.z); } else if (point.posY == sizeOfCols - 1) { go.transform.position = new Vector3(x - 9.81f, y, z - 0.49f); go.transform.eulerAngles = new Vector3( go.transform.eulerAngles.x, go.transform.eulerAngles.y + 90f, go.transform.eulerAngles.z); } else { go.transform.position = new Vector3(x + 0.43f, y, z - 9.845f); } go.tag = "Generated"; if (point.type == Identificators.TRUE_EXIT_GATE) { go.name = ("Exit Gate T"); if (PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1)).Length > 5) { QuizEntry quiz = new QuizEntry(); quiz = JsonUtility.FromJson <QuizEntry>(PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1))); go.transform.Find("Cube (3)").GetComponent <Transform>().Find("Cube").GetComponent <Transform>().Find("Canvas").GetComponent <Transform>().Find("Button").GetComponent <Transform>().Find("Text").GetComponent <Text>().text = quiz.correctAnswer; } } else { go.name = ("Exit Gate " + point.posX); if (PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1)).Length > 5) { QuizEntry quiz = new QuizEntry(); quiz = JsonUtility.FromJson <QuizEntry>(PlayerPrefs.GetString("QuizzesDataTable" + (lvl - 1))); string temp; if (isSecond) { temp = quiz.wrongAnswer2; } else { temp = quiz.wrongAnswer; } go.transform.Find("Cube (3)").GetComponent <Transform>().Find("Cube").GetComponent <Transform>().Find("Canvas").GetComponent <Transform>().Find("Button").GetComponent <Transform>().Find("Text").GetComponent <Text>().text = temp; } isSecond = true; } // Debug.Log("Goal point is detected" + point.posX + " " + point.posY); GameObject goal = GameObject.CreatePrimitive(PrimitiveType.Cube); goal.transform.position = new Vector3(point.posY * hallWidth, .5f, point.posX * hallWidth); if (point.type == Identificators.TRUE_EXIT_GATE) { goal.name = ("True Exit"); } else { goal.name = ("Exit" + point.posX); } goal.tag = "Generated"; BoxCollider bc = goal.GetComponent <BoxCollider>(); bc.isTrigger = true; bc.size = new Vector3(bc.size.x + 2, bc.size.y, bc.size.z); goal.GetComponent <MeshRenderer>().enabled = false; TriggerEventRouter tc = goal.AddComponent <TriggerEventRouter>(); tc.callback = callback; } }