示例#1
0
        public void AddQuestionToModule(Question q)
        {
            var moduleFile = Persist.Load <ModuleQuestions>("Modules\\" + q.Modul);

            if (moduleFile == null)
            {
                throw new FileNotFoundException("Modulfile konnte nicht geladen/geöffnet werden!");
            }

            //Das Speichern sollte ab hier funktionieren - es müssen allerdings noch ein paar Werte angepasst werden:
            //Bilder hereinladen und Pfade ändern
            if (!string.IsNullOrEmpty(q.ImagePath))                              //Wenn es eine Frage-Bild gibt
            {
                q.ImagePath = Persist.CopyPictureToResourcesFolder(q.ImagePath); //schreibt direkt den aktuellen Pfad herein
            }

            foreach (var a in q.Answers)
            {
                var answerImagePath = a.ImagePath;
                if (!string.IsNullOrEmpty(answerImagePath))                              //Wenn es ein Antwort-Bild gibt
                {
                    a.ImagePath = Persist.CopyPictureToResourcesFolder(answerImagePath); //siehe oben
                }
            }

            switch (q.Difficulty)
            {
            case Difficulties.Easy:
                moduleFile.QuestionsEasy.Add(q);
                break;

            case Difficulties.Medium:
                moduleFile.QuestionsMedium.Add(q);
                break;

            case Difficulties.Hard:
                moduleFile.QuestionsHard.Add(q);
                break;

            default:
                throw new UnityException("Ungültiger Schwierigkeitsgrad mitgegeben");
            }
            moduleFile.LastUpdated = DateTime.Now.ToLocalTime();
            //alle Infos hinzugefügt, jetzt wieder abspeichern
            Persist.Save(moduleFile, "Modules\\" + q.Modul);
            Debug.Log("Datei: " + q.Modul + ".dat erfolgreich aktualisiert!");
        }