From f2afcef55297f970de910b7819ce85ee6d5c51a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yoan=20BRUGI=C3=88RE?= Date: Wed, 31 May 2023 19:27:32 +0200 Subject: [PATCH 1/6] Reglage bug de navigation --- Sources/Model/Classes/Ile.cs | 4 + Sources/Model/Managers/Manager.cs | 10 ++- Sources/Model/Stub/StubBestiaire.cs | 48 ++++++------ Sources/Model/Stub/StubEquipage.cs | 32 ++++---- Sources/Ohara/AppShell.xaml | 48 +++++++++--- Sources/Ohara/PageBateau.xaml | 1 + Sources/Ohara/PageBateau.xaml.cs | 7 ++ Sources/Ohara/PageBestiaire.xaml | 1 + Sources/Ohara/PageBestiaire.xaml.cs | 12 +++ Sources/Ohara/PageEquipage.xaml | 81 +++++++++---------- Sources/Ohara/PageEquipage.xaml.cs | 13 +++- Sources/Ohara/PageFDD.xaml | 18 ++++- Sources/Ohara/PageFDD.xaml.cs | 33 +++++--- Sources/Ohara/PageFavoris.xaml | 17 +++- Sources/Ohara/PageFavoris.xaml.cs | 28 ++++++- Sources/Ohara/PageIle.xaml | 1 + Sources/Ohara/PageIle.xaml.cs | 7 ++ Sources/Ohara/PageInfoBateau.xaml.cs | 2 +- Sources/Ohara/PageInfoBestiaire.xaml.cs | 2 +- Sources/Ohara/PageInfoEquipage.xaml | 52 ++++++++++++- Sources/Ohara/PageInfoEquipage.xaml.cs | 2 +- Sources/Ohara/PageInfoFdd.xaml | 25 +++--- Sources/Ohara/PageInfoFdd.xaml.cs | 2 +- Sources/Ohara/PageInfoIle.xaml | 3 +- Sources/Ohara/PageInfoIle.xaml.cs | 2 +- Sources/Ohara/PageInfoPersonnage.xaml.cs | 2 +- Sources/Ohara/PagePersonnage.xaml | 1 + Sources/Ohara/PagePersonnage.xaml.cs | 6 ++ Sources/Ohara/Resources/Styles/Styles.xaml | 90 +++++++++++----------- 29 files changed, 369 insertions(+), 181 deletions(-) diff --git a/Sources/Model/Classes/Ile.cs b/Sources/Model/Classes/Ile.cs index d89e1f6..9a2ed6b 100644 --- a/Sources/Model/Classes/Ile.cs +++ b/Sources/Model/Classes/Ile.cs @@ -61,6 +61,10 @@ namespace Model.Classes public override bool Equals(object? obj) { if (obj == null) return false; + if (this.GetType() != obj.GetType()) + { + return false; + } else { Ile o = (Ile)obj; diff --git a/Sources/Model/Managers/Manager.cs b/Sources/Model/Managers/Manager.cs index 841d385..f02eee6 100644 --- a/Sources/Model/Managers/Manager.cs +++ b/Sources/Model/Managers/Manager.cs @@ -64,7 +64,7 @@ namespace Model.Managers public List FiltrerFDD(string type) { - List fdd = GetFruits(); + List fdd = new List(Fruits); foreach (FruitDuDemon f in fdd.ToList()) { if (f.Type != type) @@ -75,6 +75,12 @@ namespace Model.Managers return fdd; } + public List FiltrerFavs(string type) + { + List favs = GetFavoris(); + return favs; + } + public List RechercheFDD(string text, List listeFDD) { if (text == "") @@ -154,6 +160,8 @@ namespace Model.Managers return listeFavoris; } + + public void ModifierFavoris(ObjetOhara obj,bool value) { Type t = obj.GetType(); diff --git a/Sources/Model/Stub/StubBestiaire.cs b/Sources/Model/Stub/StubBestiaire.cs index a61aa4a..a70eca0 100644 --- a/Sources/Model/Stub/StubBestiaire.cs +++ b/Sources/Model/Stub/StubBestiaire.cs @@ -1,26 +1,26 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; using Model.Classes; -namespace Model.Stub -{ - public class StubBestiaire - { - public IEnumerable RecupererBestiaire() - { - List best = new List() - { - new Bestiaire("Humains", "??", "Les humains sont ...","Ils possèdent les caractéristiques suivantes ...","humain.png"), - new Bestiaire("Géants", "Elbaf", "Les géants sont ...","Ils possèdent les caractéristiques suivantes ...","geant.png"), - new Bestiaire("Hommes poissons", "Îles des hommes poissons", "Les hommes poissons sont ...","Ils possèdent les caractéristiques suivantes ...","hpoisson.png"), - new Bestiaire("Lunariens", "Redline", "Les lunariens sont ...","Ils possèdent les caractéristiques suivantes ...","lunarien.png"), - new Bestiaire("Minks", "Zo", "Les minks sont ...","Ils possèdent les caractéristiques suivantes ...","minks.png"), - - }; - return best; - } - } -} +namespace Model.Stub +{ + public class StubBestiaire + { + public IEnumerable RecupererBestiaire() + { + List best = new List() + { + new Bestiaire("Humains", "??", "Les humains sont ...","Ils possèdent les caractéristiques suivantes ...","humain.png"), + new Bestiaire("Géants", "Elbaf", "Les géants sont ...","Ils possèdent les caractéristiques suivantes ...","geant.png"), + new Bestiaire("Hommes poissons", "Îles des hommes poissons", "Les hommes poissons sont ...","Ils possèdent les caractéristiques suivantes ...","hpoisson.png"), + new Bestiaire("Lunariens", "Redline", "Les lunariens sont ...","Ils possèdent les caractéristiques suivantes ...","lunarien.png"), + new Bestiaire("Minks", "Zo", "Les minks sont ...","Ils possèdent les caractéristiques suivantes ...","minks.png"), + + }; + return best; + } + } +} diff --git a/Sources/Model/Stub/StubEquipage.cs b/Sources/Model/Stub/StubEquipage.cs index b7b2f8a..2171f20 100644 --- a/Sources/Model/Stub/StubEquipage.cs +++ b/Sources/Model/Stub/StubEquipage.cs @@ -11,23 +11,25 @@ namespace Model.Stub { public IEnumerable RecupererEquipage() { + var paille = new Equipage("Équipage au chapeau de paille", "Mugiwara No Ichimi", "East Blue", 1, 1, true, "L'équipage du Chapeau de Paille ...", "mugiwara.jpg"); + var roux = new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", 1, 4, true, "L'équipage du Roux ...", "roux.png"); + var clown = new Equipage("Équipage du Clown", "Bagï Kalzokudan", "East Blue", 8, 4, true, "L'équipage du Clown ...", "clown.png"); + var blanche = new Equipage("Équipage de Barbe Blanche", "Shirohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Blanche ...", "blanche.jpg"); + var noire = new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...", "noire.png"); + paille.Allie.Add(clown); + var stubperso = new StubPersonnage(); + + List persos = new List(stubperso.RecupererPersonnage()); + var membrePaille = persos.Where(p => p.Nom=="Luffy" || p.Nom=="Nami" || p.Nom=="Usopp" || p.Nom=="Zoro"); + + paille.Membre.AddRange(membrePaille); List Lequipage = new List() { - new Equipage("Équipage au chapeau de paille", "Mugiwara No Ichimi", "East Blue", 1, 1, true, "L'équipage du Chapeau de Paille ...","mugiwara.jpg"), - new Equipage("Équipage du Roux", "Akagami Kalzokudan", "East Blue", 1, 4, true, "L'équipage du Roux ...","roux.png"), - new Equipage("Équipage du Clown", "Bagï Kalzokudan", "East Blue", 8, 4, true, "L'équipage du Clown ...","clown.png"), - new Equipage("Équipage de Barbe Blanche", "Shirohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Blanche ...","blanche.jpg"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), - new Equipage("Équipage de Barbe Noire", "Kurohige Kaizokudan", "East Blue", 234, 151, true, "L'équipage de Barbe Noire ...","noire.png"), + paille, + roux, + clown, + blanche, + }; return Lequipage; } diff --git a/Sources/Ohara/AppShell.xaml b/Sources/Ohara/AppShell.xaml index c6b45b5..8828560 100644 --- a/Sources/Ohara/AppShell.xaml +++ b/Sources/Ohara/AppShell.xaml @@ -23,18 +23,46 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/Sources/Ohara/PageBateau.xaml b/Sources/Ohara/PageBateau.xaml index 284831b..5bf989b 100644 --- a/Sources/Ohara/PageBateau.xaml +++ b/Sources/Ohara/PageBateau.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Ohara.PageBateau" Title="PageBateau" + Appearing="ContentPage_Appearing" BackgroundColor="#e2edf1"> diff --git a/Sources/Ohara/PageBateau.xaml.cs b/Sources/Ohara/PageBateau.xaml.cs index 35b01ae..6dc9dcb 100644 --- a/Sources/Ohara/PageBateau.xaml.cs +++ b/Sources/Ohara/PageBateau.xaml.cs @@ -18,6 +18,7 @@ public partial class PageBateau : ContentPage async void listeBateau_SelectionChanged(object sender, SelectionChangedEventArgs e) { + if (e.CurrentSelection.Count == 0) return; manager.SelectedItem = (Bateau)listeBateau.SelectedItem; await Navigation.PushAsync(new PageInfoBateau()); } @@ -26,4 +27,10 @@ public partial class PageBateau : ContentPage { } + + private void ContentPage_Appearing(object sender, EventArgs e) + { + manager.SelectedItem = null; + listeBateau.SelectedItem = null; + } } \ No newline at end of file diff --git a/Sources/Ohara/PageBestiaire.xaml b/Sources/Ohara/PageBestiaire.xaml index b97820d..7b62228 100644 --- a/Sources/Ohara/PageBestiaire.xaml +++ b/Sources/Ohara/PageBestiaire.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Ohara.PageBestiaire" Title="PageBestiaire" + Appearing="ContentPage_Appearing" BackgroundColor="#e2edf1"> diff --git a/Sources/Ohara/PageBestiaire.xaml.cs b/Sources/Ohara/PageBestiaire.xaml.cs index 8839569..1700ee5 100644 --- a/Sources/Ohara/PageBestiaire.xaml.cs +++ b/Sources/Ohara/PageBestiaire.xaml.cs @@ -18,7 +18,19 @@ public partial class PageBestiaire : ContentPage async void listeBest_SelectionChanged(object sender, SelectionChangedEventArgs e) { + if (e.CurrentSelection.Count == 0) return; manager.SelectedItem = (Bestiaire)listeBest.SelectedItem; await Navigation.PushAsync(new PageInfoBestiaire()); } + + private void ContentPage_Appearing(object sender, EventArgs e) + { + manager.SelectedItem = null; + listeBest.SelectedItem = null; + } + + private void ContentPage_Appearing_1(object sender, EventArgs e) + { + + } } \ No newline at end of file diff --git a/Sources/Ohara/PageEquipage.xaml b/Sources/Ohara/PageEquipage.xaml index fada58d..6b9e480 100644 --- a/Sources/Ohara/PageEquipage.xaml +++ b/Sources/Ohara/PageEquipage.xaml @@ -1,17 +1,18 @@ - - - - - - - - - - + + + + + + + + + + @@ -22,30 +23,30 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Sources/Ohara/PageEquipage.xaml.cs b/Sources/Ohara/PageEquipage.xaml.cs index 5966905..c6843b0 100644 --- a/Sources/Ohara/PageEquipage.xaml.cs +++ b/Sources/Ohara/PageEquipage.xaml.cs @@ -11,13 +11,24 @@ public partial class PageEquipage : ContentPage { InitializeComponent(); BindingContext = manager; - + void OnTextChanged(object sender, EventArgs e) + { + SearchBar searchBar = (SearchBar)sender; + listeEquip.ItemsSource = manager.RechercheObjetOhara(searchBar.Text,new List(manager.Equipages.ToList())); + } + searchBar.TextChanged += OnTextChanged; } async void listeEquip_SelectionChanged(object sender, SelectionChangedEventArgs e) { + if (e.CurrentSelection.Count == 0) return; manager.SelectedItem=(Equipage)listeEquip.SelectedItem; await Navigation.PushAsync(new PageInfoEquipage()); } + private void ContentPage_Appearing(object sender, EventArgs e) + { + manager.SelectedItem = null; + listeEquip.SelectedItem = null; + } } \ No newline at end of file diff --git a/Sources/Ohara/PageFDD.xaml b/Sources/Ohara/PageFDD.xaml index d4c30d2..45b7588 100644 --- a/Sources/Ohara/PageFDD.xaml +++ b/Sources/Ohara/PageFDD.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Ohara.PageFDD" Title="PageFDD" + Appearing="ContentPage_Appearing" BackgroundColor="#e2edf1"> @@ -14,11 +15,20 @@ - -