diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs index ff324983..4f999661 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterEditorViewModel.cs @@ -2,6 +2,7 @@ using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.Linq; using System.Text; using System.Threading.Tasks; @@ -21,6 +22,19 @@ namespace AideDeJeu.ViewModels SetProperty(ref _Races, value); } } + private int _RaceSelectedIndex = 0; + public int RaceSelectedIndex + { + get + { + return _RaceSelectedIndex; + } + set + { + SetProperty(ref _RaceSelectedIndex, value); + SelectedPlayerCharacter.Race = Races[_RaceSelectedIndex]; + } + } private List _Classes = new List(); public List Classes { @@ -33,6 +47,19 @@ namespace AideDeJeu.ViewModels SetProperty(ref _Classes, value); } } + private int _ClassSelectedIndex = 0; + public int ClassSelectedIndex + { + get + { + return _ClassSelectedIndex; + } + set + { + SetProperty(ref _ClassSelectedIndex, value); + SelectedPlayerCharacter.Class = Classes[_ClassSelectedIndex]; + } + } private List _Backgrounds = new List(); public List Backgrounds { @@ -45,15 +72,39 @@ namespace AideDeJeu.ViewModels SetProperty(ref _Backgrounds, value); } } - public PlayerCharacterViewModel SelectedPlayerCharacter { get; set; } + private int _BackgroundSelectedIndex = 0; + public int BackgroundSelectedIndex + { + get + { + return _BackgroundSelectedIndex; + } + set + { + SetProperty(ref _BackgroundSelectedIndex, value); + SelectedPlayerCharacter.Background = Backgrounds[_BackgroundSelectedIndex]; + } + } + private PlayerCharacterViewModel _SelectedPlayerCharacter = new PlayerCharacterViewModel(); + public PlayerCharacterViewModel SelectedPlayerCharacter + { + get + { + return _SelectedPlayerCharacter; + } + set + { + SetProperty(ref _SelectedPlayerCharacter, value); + } + } public async Task InitAsync() { using (var context = await StoreViewModel.GetLibraryContextAsync()) { - Races = await context.Races.ToListAsync(); - Classes = await context.Classes.ToListAsync(); - Backgrounds = await context.Backgrounds.ToListAsync(); + Races = await context.Races.Where(r => r.GetType() == typeof(RaceItem)).OrderBy(r => r.Name).ToListAsync(); + Classes = await context.Classes.OrderBy(c => c.Name).ToListAsync(); + Backgrounds = await context.Backgrounds.Where(b => b.GetType() == typeof(BackgroundItem)).OrderBy(b => b.Name).ToListAsync(); } } } diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterViewModel.cs index dbcbe475..1676662f 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacterViewModel.cs @@ -5,10 +5,43 @@ using System.Text; namespace AideDeJeu.ViewModels { - public class PlayerCharacterViewModel + public class PlayerCharacterViewModel : BaseViewModel { - public RaceItem Race { get; set; } - public ClassItem Class { get; set; } - public BackgroundItem Background { get; set; } + private RaceItem _Race = null; + public RaceItem Race + { + get + { + return _Race; + } + set + { + SetProperty(ref _Race, value); + } + } + private ClassItem _Class = null; + public ClassItem Class + { + get + { + return _Class; + } + set + { + SetProperty(ref _Class, value); + } + } + private BackgroundItem _Background = null; + public BackgroundItem Background + { + get + { + return _Background; + } + set + { + SetProperty(ref _Background, value); + } + } } } diff --git a/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml b/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml index d11b4c13..a3f79d2f 100644 --- a/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml @@ -1,33 +1,41 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml.cs index d089e27b..02bff184 100644 --- a/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml.cs +++ b/AideDeJeu/AideDeJeu/Views/PlayerCharacterEditorPage.xaml.cs @@ -11,7 +11,7 @@ using Xamarin.Forms.Xaml; namespace AideDeJeu.Views { [XamlCompilation(XamlCompilationOptions.Compile)] - public partial class PlayerCharacterEditorPage : TabbedPage + public partial class PlayerCharacterEditorPage : ContentPage { public PlayerCharacterEditorPage() { diff --git a/Data/aasimar_hd.md b/Data/aasimar_hd.md index b22f0785..47f85a1a 100644 --- a/Data/aasimar_hd.md +++ b/Data/aasimar_hd.md @@ -13,7 +13,7 @@ Votre parenté céleste vous a octroyé certains pouvoirs innés. -**Augmentation de caractéristiques.** Votre valeur de [Charisme] augmente de 2 et votre valeur de [Sagesse] de 1. +**Augmentation de caractéristiques.** Votre valeur de [Charisme] augmente de 2 et votre valeur de [Sagesse] de 1. **Âge.** Les aasimars vieillissent à un rythme comparable à celui des humains. Leur espérance de vie est cependant supérieure, et ils peuvent dépasser les 120 ans.