Example #1
0
    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);
        }
    }
Example #2
0
    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);
    }
Example #3
0
    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);
    }
Example #4
0
    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);
    }
Example #5
0
    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);
        }
    }
Example #6
0
        /// <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);
            }
        }
Example #7
0
        /// <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);
            }
        }
Example #8
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);
        }
Example #9
0
    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);
    }
Example #10
0
    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;
    }
Example #11
0
    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;
        }
    }