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"); } } }
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); } }
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}"); }