From 0fa1b4c28ed992bc384a7db7b333f86e92f20642 Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Tue, 16 Apr 2019 06:09:08 +0200 Subject: [PATCH] Debug init --- AideDeJeu/AideDeJeu/Models/Items/Item.cs | 6 +- AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs | 20 +++++ .../AideDeJeu/ViewModels/MainViewModel.cs | 8 ++ .../PlayerCharacterEditorViewModel.cs | 77 +++++++------------ AideDeJeu/AideDeJeu/Views/MainPage.xaml | 1 + 5 files changed, 60 insertions(+), 52 deletions(-) diff --git a/AideDeJeu/AideDeJeu/Models/Items/Item.cs b/AideDeJeu/AideDeJeu/Models/Items/Item.cs index 564582a4..60bd3d0f 100644 --- a/AideDeJeu/AideDeJeu/Models/Items/Item.cs +++ b/AideDeJeu/AideDeJeu/Models/Items/Item.cs @@ -18,8 +18,12 @@ using YamlDotNet.Serialization.NamingConventions; namespace AideDeJeuLib { + interface IItem + { + + } [DataContract] - public class Item //: IList + public class Item : IItem //: IList { protected List _Items; diff --git a/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs b/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs index 6526f210..afe2797c 100644 --- a/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs +++ b/AideDeJeu/AideDeJeu/Models/Races/RaceItem.cs @@ -2,7 +2,27 @@ namespace AideDeJeuLib { + interface IRaceItem : IItem + { + string FullName { get; set; } + bool HasSubRaces { get; set; } + string StrengthBonus { get; set; } + string DexterityBonus { get; set; } + string ConstitutionBonus { get; set; } + string IntelligenceBonus { get; set; } + string WisdomBonus { get; set; } + string CharismaBonus { get; set; } + string AnyAbilityBonus { get; set; } + + string AbilityScoreIncrease { get; set; } + string Age { get; set; } + string Alignment { get; set; } + string Size { get; set; } + string Speed { get; set; } + string Darkvision { get; set; } + string Languages { get; set; } + } public class RaceItem : Item { [DataMember] diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs index f5b11654..5c244c2b 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs @@ -29,7 +29,15 @@ namespace AideDeJeu.ViewModels get => !_isLoading; } + public NotifyTaskCompletion DebugCount = new NotifyTaskCompletion(Task.Run(() => GetItemsCountAsync())); + public static async Task GetItemsCountAsync() + { + using (var context = await StoreViewModel.GetLibraryContextAsync()) + { + return context.Items.Count(); + } + } /* void AddAnchor(string source, Dictionary anchors, Item item) { diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs index 73099481..9ce788e5 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs @@ -18,7 +18,7 @@ namespace AideDeJeu.ViewModels public PlayerCharacterEditorViewModel() { ResetAlignments(); - Races = new NotifyTaskCompletion>(Task.Run(() => LoadRacesAsync())); + Races = new NotifyTaskCompletion>(Task.Run(() => LoadRacesAsync())); Classes = new NotifyTaskCompletion>(Task.Run(() => LoadClassesAsync())); Backgrounds = new NotifyTaskCompletion>(Task.Run(() => LoadBackgroundsAsync())); @@ -149,7 +149,7 @@ namespace AideDeJeu.ViewModels #endregion Alignment #region Race - public NotifyTaskCompletion> Races { get; private set; } + public NotifyTaskCompletion> Races { get; private set; } private int _RaceSelectedIndex = -1; public int RaceSelectedIndex { @@ -166,8 +166,8 @@ namespace AideDeJeu.ViewModels } } } - private RaceItemExpanded _SelectedRace = null; - public RaceItemExpanded SelectedRace + private ExpandedRaceItem _SelectedRace = null; + public ExpandedRaceItem SelectedRace { get { @@ -180,53 +180,17 @@ namespace AideDeJeu.ViewModels } } - public class RaceItemExpanded : RaceItem + public class ExpandedRaceItem : RaceItem { public RaceItem Race { get; set; } public SubRaceItem SubRace { get; set; } - private RaceItem RaceOrSubRace - { - get - { - return SubRace ?? Race; - } - } - public override string Name - { - get - { - return RaceOrSubRace.Name; - } - } - public override string Description - { - get - { - return RaceOrSubRace.Description; - } - } - public override string NewId - { - get - { - return RaceOrSubRace.NewId; - } - } - public override string Id - { - get - { - return RaceOrSubRace.Id; - } - } - public override string RootId - { - get - { - return RaceOrSubRace.RootId; - } - } + private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } + public override string Name { get { return RaceOrSubRace.Name; } } + public override string Description { get { return RaceOrSubRace.Description; } } + public override string NewId { get { return RaceOrSubRace.NewId; } } + public override string Id { get { return RaceOrSubRace.Id; } } + public override string RootId { get { return RaceOrSubRace.RootId; } } public override string AbilityScoreIncrease { @@ -267,11 +231,11 @@ namespace AideDeJeu.ViewModels public override string Darkvision { get { return Race.Darkvision; } } public override string Languages { get { return Race.Languages; } } } - public async Task> LoadRacesAsync() + public async Task> LoadRacesAsync() { using (var context = await StoreViewModel.GetLibraryContextAsync()) { - var expandedRaces = new List(); + var expandedRaces = new List(); var races = context.Races.Where(r => r.GetType() == typeof(RaceItem)); foreach(var race in races) { @@ -280,12 +244,12 @@ namespace AideDeJeu.ViewModels var subraces = context.SubRaces.Where(sr => sr.ParentLink == race.Id); foreach(var subrace in subraces) { - expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = subrace }); + expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = subrace }); } } else { - expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = null }); + expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = null }); } } return expandedRaces; @@ -324,6 +288,17 @@ namespace AideDeJeu.ViewModels } } + public class ExpandedClassItem + { + public ClassItem Class { get; set; } + public SubClassItem SubClass { get; set; } + public ClassHitPointsItem HitPoints { get; set; } + public ClassProficienciesItem Proficiencies { get; set; } + public ClassEquipmentItem Equipment { get; set; } + public ClassEvolutionItem Evolution { get; set; } + public List Features { get; set; } + } + public async Task> LoadClassesAsync() { using (var context = await StoreViewModel.GetLibraryContextAsync()) diff --git a/AideDeJeu/AideDeJeu/Views/MainPage.xaml b/AideDeJeu/AideDeJeu/Views/MainPage.xaml index 2817c688..6e7aba26 100644 --- a/AideDeJeu/AideDeJeu/Views/MainPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/MainPage.xaml @@ -42,6 +42,7 @@ +