From 80df171c5ef088790ee8401fa7b0862e1872f313 Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Fri, 22 Jun 2018 17:28:03 +0200 Subject: [PATCH] =?UTF-8?q?Correctif=20source=20de=20donn=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AideDeJeu/Tools/MarkdownExtensions.cs | 39 ++++++++++++++++++- .../AideDeJeu/ViewModels/ItemsViewModel.cs | 4 +- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs b/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs index 09f40328..41259362 100644 --- a/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs +++ b/AideDeJeu/AideDeJeu/Tools/MarkdownExtensions.cs @@ -92,7 +92,42 @@ namespace AideDeJeu.Tools var paragraphBlock = ininblock as Markdig.Syntax.ParagraphBlock; //DumpParagraphBlock(paragraphBlock); var str = paragraphBlock.Inline.ToContainerString(); - var match = regex.Match(str); + + var properties = new List>>() + { + new Tuple>("NameVO: ", (m, s) => m.NameVO = s), + new Tuple>("CastingTime: ", (m, s) => m.CastingTime = s), + new Tuple>("Components: ", (m, s) => m.Components = s), + new Tuple>("Duration: ", (m, s) => m.Duration = s), + new Tuple>("LevelType: ", (m, s) => m.LevelType = s), + new Tuple>("Range: ", (m, s) => m.Range = s), + new Tuple>("Source: ", (m, s) => m.Source = s), + new Tuple>("Classes: ", (m, s) => m.Source += s), + new Tuple>("", (m,s) => + { + //if (m.Alignment != null) + //{ + //App.Current.MainPage.DisplayAlert("Erreur de parsing", s, "OK"); + //} + ////Debug.Assert(monster.Alignment == null, str); + //var regexx = new Regex("(?.*) de taille (?.*), (?.*)"); + //var matchh = regexx.Match(s); + //m.Alignment = matchh.Groups["alignment"].Value; + //m.Size = matchh.Groups["size"].Value; + //m.Type = matchh.Groups["type"].Value; + }) + }; + + foreach (var property in properties) + { + if (str.StartsWith(property.Item1)) + { + property.Item2.Invoke(spell, str.Substring(property.Item1.Length)); + break; + } + } + + /*var match = regex.Match(str); var key = match.Groups["key"].Value; var value = match.Groups["value"].Value; switch (key) @@ -121,7 +156,7 @@ namespace AideDeJeu.Tools case "Classes": spell.Source += value; break; - } + }*/ } } diff --git a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs index 7fa46f8e..aeae564f 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs @@ -55,7 +55,7 @@ namespace AideDeJeu.ViewModels { resourceName = "AideDeJeu.Data.spells_vo.md"; var md = await Tools.Helpers.GetResourceStringAsync(resourceName); - _AllItems = Tools.MarkdownExtensions.MarkdownToMonsters(md); + _AllItems = Tools.MarkdownExtensions.MarkdownToSpells(md); } break; case ItemSourceType.SpellHD: @@ -80,7 +80,7 @@ namespace AideDeJeu.ViewModels // Yan : c'est pas plutôt cette partie qui devrait être dans une autre Task ? var filterViewModel = Main.GetFilterViewModel(ItemSourceType); var items = await filterViewModel.FilterItems(await GetAllItemsAsync(), token); - Main.Items = items; + Main.Items = items.ToList(); //await Task.Run(async () => { // Yan : plus besoin de boucle si on change toute la liste d'un coup ;) // Yan : indispensable de repasser sur l'ui thread pour la version uwp