1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 15:06:06 +00:00

Nouvelle ergo pc

This commit is contained in:
Yan Maniez 2019-05-09 00:39:17 +02:00
parent d25de58c6d
commit bd9a1535f0
4 changed files with 67 additions and 41 deletions

View file

@ -1,5 +1,6 @@
using AideDeJeu.ViewModels; using AideDeJeu.ViewModels;
using AideDeJeu.ViewModels.Library; using AideDeJeu.ViewModels.Library;
using AideDeJeu.ViewModels.PlayerCharacter;
using AideDeJeu.Views; using AideDeJeu.Views;
using AideDeJeuLib; using AideDeJeuLib;
using System.Linq; using System.Linq;
@ -20,6 +21,7 @@ namespace AideDeJeu
DependencyService.Register<MainViewModel>(); DependencyService.Register<MainViewModel>();
DependencyService.Register<BookmarksViewModel>(); DependencyService.Register<BookmarksViewModel>();
DependencyService.Register<StoreViewModel>(); DependencyService.Register<StoreViewModel>();
DependencyService.Register<PlayerCharacterEditorViewModel>();
var vm = DependencyService.Get<MainViewModel>(); var vm = DependencyService.Get<MainViewModel>();
var titlered = (Color)Resources["HDRed"]; var titlered = (Color)Resources["HDRed"];
var bgtan = (Color)Resources["HDWhite"]; var bgtan = (Color)Resources["HDWhite"];

View file

@ -21,37 +21,54 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
public class PlayerCharacterEditorViewModel : BaseViewModel public class PlayerCharacterEditorViewModel : BaseViewModel
{ {
private Random _Random; private Random _Random;
public ICommand ResetPlayerCharacterCommand
{
get
{
return new Command(async() => await ExecuteResetPlayerCharacterCommandAsync());
}
}
private async Task ExecuteResetPlayerCharacterCommandAsync()
{
await Task.Run(() =>
{
_Random = new Random(DateTime.Now.Millisecond);
SelectedPlayerCharacter = new PlayerCharacterViewModel() { Background = new BackgroundViewModel(), Abilities = new AbilitiesViewModel() };
SelectedPlayerCharacter.PropertyChanged += SelectedPlayerCharacter_PropertyChanged;
ResetAlignments();
Races = new NotifyTaskCompletion<List<RaceViewModel>>(Task.Run(() => LoadRacesAsync()));
Classes = new NotifyTaskCompletion<List<ClassViewModel>>(Task.Run(() => LoadClassesAsync()));
Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync()));
SelectedBackground = null;
//NotifySelectedBackground = new NotifyTaskCompletion<BackgroundItem>(null);
SubBackgrounds = null;
SelectedSubBackground = null;
//NotifySelectedSubBackground = new NotifyTaskCompletion<SubBackgroundItem>(null);
PersonalityTraits = null;
PersonalityIdeals = null;
PersonalityLinks = null;
PersonalityDefects = null;
SelectedPersonalityTrait = null;
SelectedPersonalityIdeal = null;
SelectedPersonalityLink = null;
SelectedPersonalityDefect = null;
BackgroundSpecialties = null;
SubBackgroundSpecialties = null;
BackgroundSpecialty = null;
BackgroundSkill = null;
SubBackgroundSkill = null;
});
}
public PlayerCharacterEditorViewModel() public PlayerCharacterEditorViewModel()
{ {
_Random = new Random(DateTime.Now.Millisecond); ExecuteResetPlayerCharacterCommandAsync();
SelectedPlayerCharacter = new PlayerCharacterViewModel() { Background = new BackgroundViewModel(), Abilities = new AbilitiesViewModel() };
SelectedPlayerCharacter.PropertyChanged += SelectedPlayerCharacter_PropertyChanged;
ResetAlignments();
Races = new NotifyTaskCompletion<List<RaceViewModel>>(Task.Run(() => LoadRacesAsync()));
Classes = new NotifyTaskCompletion<List<ClassViewModel>>(Task.Run(() => LoadClassesAsync()));
Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync()));
SelectedBackground = null;
//NotifySelectedBackground = new NotifyTaskCompletion<BackgroundItem>(null);
SubBackgrounds = null;
SelectedSubBackground = null;
//NotifySelectedSubBackground = new NotifyTaskCompletion<SubBackgroundItem>(null);
PersonalityTraits = null;
PersonalityIdeals = null;
PersonalityLinks = null;
PersonalityDefects = null;
SelectedPersonalityTrait = null;
SelectedPersonalityIdeal = null;
SelectedPersonalityLink = null;
SelectedPersonalityDefect = null;
BackgroundSpecialties = null;
SubBackgroundSpecialties = null;
BackgroundSpecialty = null;
BackgroundSkill = null;
SubBackgroundSkill = null;
} }
private void SelectedPlayerCharacter_PropertyChanged(object sender, PropertyChangedEventArgs e) private void SelectedPlayerCharacter_PropertyChanged(object sender, PropertyChangedEventArgs e)

View file

@ -52,9 +52,9 @@
<tools:NullToFalseConverter x:Key="NullToFalseConverter" /> <tools:NullToFalseConverter x:Key="NullToFalseConverter" />
</ResourceDictionary> </ResourceDictionary>
</CarouselPage.Resources> </CarouselPage.Resources>
<CarouselPage.ToolbarItems> <!--<CarouselPage.ToolbarItems>
<ToolbarItem Text="Ouvrir en PDF avec..." Command="{Binding GenerateAndOpenPdfCommand}" Order="Secondary" /> <ToolbarItem Text="Ouvrir en PDF avec..." Command="{Binding GenerateAndOpenPdfCommand}" Order="Secondary" />
</CarouselPage.ToolbarItems> </CarouselPage.ToolbarItems>-->
<ContentPage x:Name="Race" Title="Race"> <ContentPage x:Name="Race" Title="Race">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -68,6 +68,7 @@
<pcviews:RaceView Grid.ColumnSpan="2" BindingContext="{Binding}" /> <pcviews:RaceView Grid.ColumnSpan="2" BindingContext="{Binding}" />
<Button Grid.Column="0" Grid.Row="1" Text="Nouveau" Command="{Binding ResetPlayerCharacterCommand}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Classe" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Class}"/> <Button Grid.Column="1" Grid.Row="1" Text="Classe" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Class}"/>
</Grid> </Grid>
</ContentPage> </ContentPage>
@ -170,6 +171,7 @@
<pcviews:ResumeView Grid.ColumnSpan="2" BindingContext="{Binding}" /> <pcviews:ResumeView Grid.ColumnSpan="2" BindingContext="{Binding}" />
<Button Grid.Column="0" Grid.Row="1" Text="Finalisation" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Finalize}"/> <Button Grid.Column="0" Grid.Row="1" Text="Finalisation" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Finalize}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Ouvrir en PDF" Command="{Binding GenerateAndOpenPdfCommand}" />
</Grid> </Grid>
</ContentPage> </ContentPage>
</CarouselPage> </CarouselPage>

View file

@ -17,21 +17,26 @@ namespace AideDeJeu.Views.PlayerCharacter
{ {
public PlayerCharacterEditorPage() public PlayerCharacterEditorPage()
{ {
BindingContext = new PlayerCharacterEditorViewModel(); //if(DependencyService.Get<PlayerCharacterEditorViewModel>() == null)
//{
// DependencyService.Register<PlayerCharacterEditorViewModel>();
//}
BindingContext = DependencyService.Get<PlayerCharacterEditorViewModel>(); // new PlayerCharacterEditorViewModel();
InitializeComponent(); InitializeComponent();
} }
protected override bool OnBackButtonPressed() //protected override bool OnBackButtonPressed()
{ //{
Device.BeginInvokeOnMainThread(async () => { // Device.BeginInvokeOnMainThread(async () => {
var result = await this.DisplayAlert("Attention", "Si vous revenez au menu, vous perdrez le personnage en cours de création", "Menu", "Annuler"); // var result = await this.DisplayAlert("Attention", "Si vous revenez au menu, vous perdrez le personnage en cours de création", "Menu", "Annuler");
if (result) await this.Navigation.PopAsync(); // if (result) await this.Navigation.PopAsync();
}); // });
return true; // return true;
//return base.OnBackButtonPressed(); // //return base.OnBackButtonPressed();
} //}
public Command ChangePageCommand public Command ChangePageCommand
{ {