diff --git a/AideDeJeu/AideDeJeu/Models/Items.cs b/AideDeJeu/AideDeJeu/Models/Items.cs index 23696276..939429a5 100644 --- a/AideDeJeu/AideDeJeu/Models/Items.cs +++ b/AideDeJeu/AideDeJeu/Models/Items.cs @@ -13,11 +13,31 @@ namespace AideDeJeuLib public class Items : Item, IEnumerable { private IEnumerable _Items; - public override string Markdown => throw new NotImplementedException(); + + public Items(IEnumerable items) + { + _Items = items; + } + + public Items() + { + _Items = new List(); + } + + private string _Markdown = ""; + public override string Markdown + { + get + { + //return "\n\n# test\n\n"; + return _Markdown; + } + } + public IEnumerator GetEnumerator() { - return _Items.GetEnumerator(); + return _Items?.GetEnumerator(); } public override void Parse(ref ContainerBlock.Enumerator enumerator) @@ -26,18 +46,27 @@ namespace AideDeJeuLib enumerator.MoveNext(); while (enumerator.Current != null) { - if(enumerator.Current.IsNewItem()) + var block = enumerator.Current; + if (block.IsNewItem()) { break; } - else if(enumerator.Current is HeadingBlock) + else if(block is HeadingBlock) { - var headingBlock = enumerator.Current as HeadingBlock; + var headingBlock = block as HeadingBlock; if(headingBlock.Level == 1 && headingBlock.HeaderChar == '#') { this.Name = headingBlock.Inline.ToMarkdownString(); } + else + { + _Markdown += headingBlock.ToMarkdownString(); + } + } + else + { + _Markdown += block.ToMarkdownString(); } enumerator.MoveNext(); } @@ -52,7 +81,7 @@ namespace AideDeJeuLib IEnumerator IEnumerable.GetEnumerator() { - return _Items.GetEnumerator(); + return _Items?.GetEnumerator(); } public virtual FilterViewModel GetNewFilterViewModel() diff --git a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs index bfd05160..2a55461e 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs @@ -45,8 +45,8 @@ namespace AideDeJeu.ViewModels } } - public IEnumerable _Items = new List(); - public IEnumerable Items + public Items _Items = new Items(); + public Items Items { get { @@ -109,11 +109,11 @@ namespace AideDeJeu.ViewModels if (Filter != null) { var items = await Filter.FilterItems(AllItems, cancellationToken: cancellationToken); - Items = items.ToList(); + Items = new Items(items.ToList()); } else { - Items = AllItems.ToList(); + Items = AllItems; } } catch (OperationCanceledException ex) diff --git a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml index 47e42012..67cdd63a 100644 --- a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml @@ -4,13 +4,23 @@ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:AideDeJeu.Views" xmlns:tools="clr-namespace:AideDeJeu.Tools" + xmlns:mdview="clr-namespace:Xam.Forms.Markdown" x:Class="AideDeJeu.Views.ItemsPage" x:Name="This" Title="{Binding Title}"> + + + + + + + + + diff --git a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs index 0288666d..593fc79c 100644 --- a/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs +++ b/AideDeJeu/AideDeJeu/Views/ItemsPage.xaml.cs @@ -30,6 +30,8 @@ namespace AideDeJeu.Views InitializeComponent (); BindingContext = _ItemsViewModel = itemsViewModel; + + mdMarkdown.NavigateToLink = async (s) => await itemsViewModel.Main.Navigator.NavigateToLinkAsync(s); } public ItemsPage() { diff --git a/Data/abilities_charisma_hd.md b/Data/abilities_charisma_hd.md index f84034ae..d56a207d 100644 --- a/Data/abilities_charisma_hd.md +++ b/Data/abilities_charisma_hd.md @@ -2,10 +2,6 @@ # Charisme -[][Generic] - -# Charisme - Le Charisme représente votre capacité à interagir avec les autres. Il prend en compte votre confiance en vous et votre éloquence, et est un indicateur du charme et de l'autorité qui se dégagent de vous. [][Generic] diff --git a/Data/abilities_constitution_hd.md b/Data/abilities_constitution_hd.md index f4e16102..d5039b95 100644 --- a/Data/abilities_constitution_hd.md +++ b/Data/abilities_constitution_hd.md @@ -2,10 +2,6 @@ # Constitution -[][Generic] - -# Constitution - La Constitution représente la santé, l'endurance et la force vitale. [][Generic] diff --git a/Data/abilities_dexterity_hd.md b/Data/abilities_dexterity_hd.md index aaea4f2a..c5d40381 100644 --- a/Data/abilities_dexterity_hd.md +++ b/Data/abilities_dexterity_hd.md @@ -2,10 +2,6 @@ # Dextérité -[][Generic] - -# Dextérité - La Dextérité représente tout ce qui a trait à l'agilité, les réflexes et l'équilibre. [][Generic] diff --git a/Data/abilities_hd.md b/Data/abilities_hd.md index b2a7570c..fc44ae8c 100644 --- a/Data/abilities_hd.md +++ b/Data/abilities_hd.md @@ -1,10 +1,6 @@ [][Items] -# Caractéristiques - -[][Generic] - # Utiliser les caractéristiques Le profil physique et mental d'une créature est défini par six caractéristiques : diff --git a/Data/abilities_intelligence_hd.md b/Data/abilities_intelligence_hd.md index 0786f83c..6e69057e 100644 --- a/Data/abilities_intelligence_hd.md +++ b/Data/abilities_intelligence_hd.md @@ -2,10 +2,6 @@ # Intelligence -[][Generic] - -# Intelligence - L'intelligence représente la vivacité d'esprit, la mémoire et la capacité de raisonnement. [][Generic] diff --git a/Data/abilities_strength_hd.md b/Data/abilities_strength_hd.md index d6871b0a..dd602220 100644 --- a/Data/abilities_strength_hd.md +++ b/Data/abilities_strength_hd.md @@ -2,10 +2,6 @@ # Force -[][Generic] - -# Force - La Force détermine la puissance physique d'un personnage, ses compétences en athlétisme et dans quelle mesure il peut se reposer sur sa force brute. [][Generic] diff --git a/Data/abilities_wisdom_hd.md b/Data/abilities_wisdom_hd.md index 96cfd551..c43333fe 100644 --- a/Data/abilities_wisdom_hd.md +++ b/Data/abilities_wisdom_hd.md @@ -2,10 +2,6 @@ # Sagesse -[][Generic] - -# Sagesse - La Sagesse représente votre sensibilité au monde qui vous entoure, votre perspicacité et votre intuition. [][Generic] diff --git a/Data/barbarian_berserker_hd.md b/Data/barbarian_berserker_hd.md index 480a70cd..94736883 100644 --- a/Data/barbarian_berserker_hd.md +++ b/Data/barbarian_berserker_hd.md @@ -2,10 +2,6 @@ # Voie du berserker -[][Generic] - -# Voie du berserker - Pour certains barbares, la rage est un moyen d'atteindre leur but, et ce but est la violence. Animé par une furie débridée, le berserker suit une voie sanglante. Quand vous entrez dans la rage du berserker, vous vous réalisez dans le chaos de la bataille et oubliez tout le reste, y compris votre santé et votre bien-être. diff --git a/Data/barbarian_howling_hd.md b/Data/barbarian_howling_hd.md index cbed7d83..4727f35d 100644 --- a/Data/barbarian_howling_hd.md +++ b/Data/barbarian_howling_hd.md @@ -2,10 +2,6 @@ # Voie du hurlement -[][Generic] - -# Voie du hurlement - Le hurlement est un exutoire à la rage qui gronde dans les entrailles du barbare et qui remonte en cris violents. Le barbare qui choisit la voie du hurlement suit une tradition ancienne perpétuée depuis de nombreuses générations au sein de son clan. Ceux qui pratiquent l'art du hurlement marquent leur statut dans leur peau et leurs chairs afin de se distinguer des autres membres du clan, mais aussi pour effrayer leurs adversaires par une apparence féroce qui contribue à leur réputation. Cela prend généralement la forme de tatouages, de coiffures originales (crâne à demi rasé, tresses), de piercings et de scarifications (cicatrices rituelles). À chaque fois que vous obtenez une nouvelle aptitude de la voie du hurlement, vous devrez ajouter une modification corporelle supplémentaire à votre apparence afin de marquer votre changement de statut. diff --git a/Data/barbarian_spirits_hd.md b/Data/barbarian_spirits_hd.md index ba1e21e5..47120b18 100644 --- a/Data/barbarian_spirits_hd.md +++ b/Data/barbarian_spirits_hd.md @@ -2,10 +2,6 @@ # Voie des esprits -[][Generic] - -# Voie des esprits - Plaine ou savane, forêt ou montagne, vous êtes né dans une nature vierge et sauvage, parfois dure et hostile. Pour survivre, votre peuple a appris à communier avec la nature et à tisser des liens étroits avec les animaux par l'intermédiaire d'esprits magiques. diff --git a/Data/barbarian_steel_hd.md b/Data/barbarian_steel_hd.md index 2160bbd8..8c396ab4 100644 --- a/Data/barbarian_steel_hd.md +++ b/Data/barbarian_steel_hd.md @@ -2,10 +2,6 @@ # Voie de l'acier -[][Generic] - -# Voie de l'acier - La magie est l'arme des faibles, des corrompus et des traîtres, vous savez qu'on ne peut faire confiance qu'à une seule chose en ce bas monde : l'acier ! Attention, si vous choisissez cette voie, vous n'aimez pas porter ou utiliser des objets magiques, et certaines de vos aptitudes ne fonctionnent pas si vous utilisez une arme ou une armure magique. Vous refusez systématiquement les sorts de magie profane dont vos alliés pourraient vous faire profiter, mais vous faites preuve d'un peu plus de tolérance en ce qui concerne la magie divine, en particulier pour les sorts de soins. La magie druidique ne vous pose généralement pas de problème, sauf si elle s'avère corrompue. En effet, si sorciers et magiciens sont des êtres vils qui vivent dans les cités, les tribus barbares accueillent souvent des shamans et des guérisseurs en leur sein. [][Generic]