diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/ClassViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/ClassViewModel.cs new file mode 100644 index 00000000..49c00a71 --- /dev/null +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/ClassViewModel.cs @@ -0,0 +1,20 @@ +using AideDeJeuLib; +using System.Collections.Generic; + +namespace AideDeJeu.ViewModels.PlayerCharacter +{ + public class ClassViewModel : BaseViewModel + { + 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 string Name { get { return Class?.Name; } } + public string Description { get { return Class?.Description; } } + public string Markdown { get { return Class?.Markdown; } } + } +} diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs index 52d02c78..dedd976b 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs @@ -150,95 +150,21 @@ namespace AideDeJeu.ViewModels.PlayerCharacter #region Race public NotifyTaskCompletion> Races { get; private set; } - private int _RaceSelectedIndex = -1; - public int RaceSelectedIndex - { - get - { - return _RaceSelectedIndex; - } - set - { - SetProperty(ref _RaceSelectedIndex, value); - if (Races.Result.Count > _RaceSelectedIndex && _RaceSelectedIndex >= 0) - { - SelectedRace = Races.Result[_RaceSelectedIndex]; - } - } - } - private RaceViewModel _SelectedRace = null; - public RaceViewModel SelectedRace - { - get - { - return _SelectedRace; - } - set - { - SetProperty(ref _SelectedRace, value); - //SelectedPlayerCharacter.Race = _SelectedRace; - } - } - public class RaceViewModel : BaseViewModel - { - public RaceItem Race { get; set; } - public SubRaceItem SubRace { get; set; } + //private RaceViewModel _SelectedRace = null; + //public RaceViewModel SelectedRace + //{ + // get + // { + // return _SelectedRace; + // } + // set + // { + // SetProperty(ref _SelectedRace, value); + // //SelectedPlayerCharacter.Race = _SelectedRace; + // } + //} - private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } - public string Name { get { return RaceOrSubRace.Name; } } - public string Description { get { return RaceOrSubRace.Description; } } - public string NewId { get { return RaceOrSubRace.NewId; } } - public string Id { get { return RaceOrSubRace.Id; } } - public string RootId { get { return RaceOrSubRace.RootId; } } - - public string AbilityScoreIncrease - { - get - { - if(SubRace?.AbilityScoreIncrease != null) - { - return Race.AbilityScoreIncrease + "\n\n" + SubRace.AbilityScoreIncrease; - } - return Race.AbilityScoreIncrease; - } - } - public OrderedDictionary Attributes - { - get - { - if(SubRace == null) - { - return Race.Attributes; - } - var dico = new OrderedDictionary(); - foreach(DictionaryEntry attr in Race.Attributes) - { - dico[attr.Key] = attr.Value; - } - foreach (DictionaryEntry attr in SubRace.Attributes) - { - dico[attr.Key] = attr.Value; - } - return dico; - } - } - - public virtual OrderedDictionary AttributesKeyValue - { - get - { - return AideDeJeuLib.ItemAttribute.ExtractKeyValues(Attributes); - } - } - - public string Age { get { return Race.Age; } } - public string Alignment { get { return Race.Alignment; } } - public string Size { get { return Race.Size; } } - public string Speed { get { return Race.Speed; } } - public string Darkvision { get { return Race.Darkvision; } } - public string Languages { get { return Race.Languages; } } - } public async Task> LoadRacesAsync() { using (var context = await StoreViewModel.GetLibraryContextAsync()) @@ -269,47 +195,32 @@ namespace AideDeJeu.ViewModels.PlayerCharacter #region Class public NotifyTaskCompletion> Classes { get; private set; } - private int _ClassSelectedIndex = -1; - public int ClassSelectedIndex - { - get - { - return _ClassSelectedIndex; - } - set - { - SetProperty(ref _ClassSelectedIndex, value); - SelectedClass = Classes.Result[_ClassSelectedIndex]; - } - } - private ClassViewModel _SelectedClass = null; - public ClassViewModel SelectedClass - { - get - { - return _SelectedClass; - } - set - { - SetProperty(ref _SelectedClass, value); - //SelectedPlayerCharacter.Class = _SelectedClass; - } - } - - public class ClassViewModel : BaseViewModel - { - 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 string Name { get { return Class?.Name; } } - public string Description { get { return Class?.Description; } } - public string Markdown { get { return Class?.Markdown; } } - } + //private int _ClassSelectedIndex = -1; + //public int ClassSelectedIndex + //{ + // get + // { + // return _ClassSelectedIndex; + // } + // set + // { + // SetProperty(ref _ClassSelectedIndex, value); + // SelectedClass = Classes.Result[_ClassSelectedIndex]; + // } + //} + //private ClassViewModel _SelectedClass = null; + //public ClassViewModel SelectedClass + //{ + // get + // { + // return _SelectedClass; + // } + // set + // { + // SetProperty(ref _SelectedClass, value); + // //SelectedPlayerCharacter.Class = _SelectedClass; + // } + //} public async Task> LoadClassesAsync() { diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterViewModel.cs index 1360af9d..d0c9a444 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterViewModel.cs @@ -19,8 +19,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter SetProperty(ref _Alignment, value); } } - private RaceItem _Race = null; - public RaceItem Race + private RaceViewModel _Race = null; + public RaceViewModel Race { get { @@ -31,8 +31,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter SetProperty(ref _Race, value); } } - private ClassItem _Class = null; - public ClassItem Class + private ClassViewModel _Class = null; + public ClassViewModel Class { get { diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/RaceViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/RaceViewModel.cs new file mode 100644 index 00000000..3b81e156 --- /dev/null +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/RaceViewModel.cs @@ -0,0 +1,69 @@ +using AideDeJeuLib; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; + +namespace AideDeJeu.ViewModels.PlayerCharacter +{ + public class RaceViewModel : BaseViewModel + { + public RaceItem Race { get; set; } + public SubRaceItem SubRace { get; set; } + + private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } } + public string Name { get { return RaceOrSubRace.Name; } } + public string Description { get { return RaceOrSubRace.Description; } } + public string NewId { get { return RaceOrSubRace.NewId; } } + public string Id { get { return RaceOrSubRace.Id; } } + public string RootId { get { return RaceOrSubRace.RootId; } } + + public string AbilityScoreIncrease + { + get + { + if (SubRace?.AbilityScoreIncrease != null) + { + return Race.AbilityScoreIncrease + "\n\n" + SubRace.AbilityScoreIncrease; + } + return Race.AbilityScoreIncrease; + } + } + public OrderedDictionary Attributes + { + get + { + if (SubRace == null) + { + return Race.Attributes; + } + var dico = new OrderedDictionary(); + foreach (DictionaryEntry attr in Race.Attributes) + { + dico[attr.Key] = attr.Value; + } + foreach (DictionaryEntry attr in SubRace.Attributes) + { + dico[attr.Key] = attr.Value; + } + return dico; + } + } + public virtual OrderedDictionary AttributesKeyValue + { + get + { + return AideDeJeuLib.ItemAttribute.ExtractKeyValues(Attributes); + } + } + + public string Age { get { return Race.Age; } } + public string Alignment { get { return Race.Alignment; } } + public string Size { get { return Race.Size; } } + public string Speed { get { return Race.Speed; } } + public string Darkvision { get { return Race.Darkvision; } } + public string Languages { get { return Race.Languages; } } + } + +} diff --git a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml index c841b6de..e63d3658 100644 --- a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml @@ -22,31 +22,31 @@ - + - + - - + + - - + + - - + + - - + + - - + + - - + + - + @@ -57,8 +57,8 @@ - - + + @@ -69,9 +69,9 @@ - + - +