Beispiel #1
0
    private void ExportJson(string fileName)
    {
        if (_frameGenerater != null)
        {
            MatchQuizData quizData = new MatchQuizData();
            quizData._matchesInfo    = _frameGenerater.GetMatchButtonList();
            quizData._column         = _column;
            quizData._row            = _row;
            quizData._type           = _gameType;
            quizData._matchNumber    = _matchNum;
            quizData._handCapability = _handCapability;

            StringWriter   stringWriter   = new StringWriter();
            JsonWriter     jsonWriter     = new JsonTextWriter(stringWriter);
            JsonSerializer jsonSerializer = JsonSerializer.Create();
            jsonSerializer.Serialize(jsonWriter, quizData);

            string path = Application.persistentDataPath + "/QuizData/" + fileName + ".json";

            FileInfo fi = new FileInfo(path);
            if (!fi.Directory.Exists)
            {
                Directory.CreateDirectory(fi.DirectoryName);
            }

            StreamWriter streamWriter = new StreamWriter(path);
            streamWriter.Write(stringWriter.ToString());
            streamWriter.Flush();

            string statusString = _frameGenerater.IsAnswerMode() ? "Initial State" : "Final State";
            _statusLabel.text = fileName + " generated. Showing \"" + statusString + "\"";

            streamWriter.Close();

            path = Application.persistentDataPath + "/QuizData/" + fileName + ".png";
            StartCoroutine(TakeSnapshot(path));

            try
            {
#if UNITY_STANDALONE_WIN
                System.Diagnostics.Process.Start("explorer.exe", string.Format("/select,{0}", path.Replace('/', '\\')));
#elif UNITY_STANDALONE_OSX
                System.Diagnostics.Process.Start("open", string.Format("-R \"{0}\"", path));
#endif
            }
            catch
            {
                Debug.LogWarning("failed to open file location");
            }
        }
    }
Beispiel #2
0
        protected override async Task OnInitializedAsync()
        {
            var simpleQuizzes = await SimpleQuizData.GetSectionQuizzes(Section.Id);

            var matchQuizzes = await MatchQuizData.GetSectionQuizzes(Section.Id);

            var videos = await VideoData.GetSectionVideos(Section.Id);

            blocks = new List <IContentBlock>();

            if (simpleQuizzes is not null)
            {
                foreach (var quiz in simpleQuizzes)
                {
                    quiz.DisplayTitle = quiz.Question;
                    quiz.Options      = await SimpleQuizData.GetQuizOptions(quiz.Id);
                }

                blocks.AddRange(simpleQuizzes);
            }

            if (matchQuizzes is not null)
            {
                foreach (var quiz in matchQuizzes)
                {
                    quiz.DisplayTitle = quiz.Question;
                    quiz.Options      = await MatchQuizData.GetQuizOptions(quiz.Id);
                }

                blocks.AddRange(matchQuizzes);
            }

            if (videos is not null)
            {
                foreach (var video in videos)
                {
                    video.DisplayTitle = video.Title;
                }

                blocks.AddRange(videos);
            }
        }
Beispiel #3
0
        private async Task CreateNewMatchQuiz()
        {
            MatchQuizModel quizToSave = new MatchQuizModel
            {
                Question  = quiz.Question,
                SectionId = SectionId,
                OrderNo   = OrderNo
            };

            foreach (var option in quiz.Options)
            {
                quizToSave.Options.Add(new MatchQuizOptionModel
                {
                    LeftOption  = option.LeftOption,
                    RightOption = option.RightOption
                });
            }

            await MatchQuizData.CreateMatchQuiz(quizToSave);

            NavMan.NavigateTo($"/projects/{ProjectId}");
        }