using Model.Classes; using Model.Managers; namespace Ohara; public partial class ModalPersonnage : ContentPage { public Manager manager => (App.Current as App).manager; public Personnage nouveauPerso; public string ancienNom; public ModalPersonnage() { if (manager.SelectedItem != null) { nouveauPerso = manager.SelectedItem as Personnage; ancienNom = nouveauPerso.Nom; } else { nouveauPerso = new Personnage("Personnage",0, " ", 0, 0, " ", " ", ""); } InitializeComponent(); BindingContext = nouveauPerso; framePicker.BindingContext = manager; } private async void ButtonConfirmer_Clicked(object sender, EventArgs e) { if (manager.SelectedItem != null) { manager.ModifierPerso(nouveauPerso, ancienNom); nouveauPerso = manager.SelectedItem as Personnage; } else { manager.AjouterPerso(nouveauPerso); } await Navigation.PopModalAsync(); } private async void ButtonAnnuler_Clicked(object sender, EventArgs e) { await Navigation.PopModalAsync(); } private async void ButtonImage_Clicked(object sender, EventArgs e) { var result = await FilePicker.PickAsync(new PickOptions { PickerTitle = "Choisissez une image ...", FileTypes = FilePickerFileType.Images, }); if (result != null) { var stream = result.FullPath; nouveauPerso.Image = stream; } } private void AjoutEquipage(object sender, SelectionChangedEventArgs e) { nouveauPerso.Equipage = listeEquipages.SelectedItem as Equipage; } private void AjoutFruit(object sender, SelectionChangedEventArgs e) { if (nouveauPerso.Fruit != null) nouveauPerso.ViderFruit(); foreach(var fruit in listeFruits.SelectedItems) { nouveauPerso.AjouterFruit(fruit as FruitDuDemon); } } }