public CurrentParameters(List <Membre> membres, List <Module> modules, int indexCurrentMembre, int indexCurrentModule, bool hardMode, Vaisseau vaisseau, int numeroSemaine, bool gameStarted) { this.membres = membres; this.modules = modules; this.indexCurrentMembre = indexCurrentMembre; this.indexCurrentModule = indexCurrentModule; this.hardMode = hardMode; this.vaisseau = vaisseau; this.numeroSemaine = numeroSemaine; this.gameStarted = gameStarted; }
/// <summary> /// Fonction appelée quand on navigate vers cette page, /// Initialisation des variables et possibles assignation des variables aux valeurs retransmises par les autres pages /// </summary> /// <param name="e"></param> protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); var parameters = (CurrentParameters)e.Parameter; indexCurrentMembre = parameters.IndexCurrentMembre; indexCurrentModule = parameters.IndexCurrentModule; membres = parameters.Membres; modules = parameters.Modules; hardMode = parameters.HardMode; vaisseau = parameters.Vaisseau; numeroSemaine = parameters.NumeroSemaine; btReparerValeur.Content = modules[indexCurrentModule].Panne.Dégat; BitmapImage pilotage = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Pilotage.png")); BitmapImage serre = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Serre.png")); BitmapImage inf = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Infirmerie.png")); BitmapImage detente = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Detente.png")); BitmapImage maint = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Maintenance.png")); BitmapImage labo = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Laboratoire.png")); BitmapImage survie = new BitmapImage(new Uri("ms-appx:///Assets/FD_Module_Survie.png")); switch (modules[indexCurrentModule].Type.ToString()) { case "PostePilotage": Background_PageModule.ImageSource = pilotage; break; case "Serre": Background_PageModule.ImageSource = serre; break; case "SystemeSurvie": Background_PageModule.ImageSource = survie; break; case "Maintenance": Background_PageModule.ImageSource = maint; break; case "Infirmerie": Background_PageModule.ImageSource = inf; break; case "Détente": Background_PageModule.ImageSource = detente; break; case "Laboratoire": Background_PageModule.ImageSource = labo; break; default: break; } if (hardMode) { listeDéPiégés = modules[indexCurrentModule].Panne.DésPiégés; foreach (Dé dé in listeDéPiégés) { tooltipPiege += "Dé " + dé.Valeur + " = " + dé.Type + "\n"; } List <Image> imageListDésPiégés; switch (listeDéPiégés.Count) { case 0: imageListDésPiégés = new List <Image>(); break; case 1: imageListDésPiégés = new List <Image> { imgD7 }; break; case 2: imageListDésPiégés = new List <Image> { imgD7, imgD8 }; break; case 3: imageListDésPiégés = new List <Image> { imgD7, imgD8, imgD9 }; break; default: imageListDésPiégés = new List <Image>(); break; } int index2 = 0; foreach (Image i in imageListDésPiégés) { switch (listeDéPiégés[index2].Type) { case déType.Bléssure: i.Source = new BitmapImage(new Uri("ms-appx:/Assets/D" + listeDéPiégés[index2].Valeur + "_Blessure.png", UriKind.RelativeOrAbsolute)); i.Tag = "D" + listeDéPiégés[index2].Valeur + "_Blessure.png"; break; case déType.Caduc: i.Source = new BitmapImage(new Uri("ms-appx:/Assets/D" + listeDéPiégés[index2].Valeur + "_Caduc.png", UriKind.RelativeOrAbsolute)); i.Tag = "D" + listeDéPiégés[index2].Valeur + "_Caduc.png"; break; case déType.Stase: i.Source = new BitmapImage(new Uri("ms-appx:/Assets/D" + listeDéPiégés[index2].Valeur + "_Stase.png", UriKind.RelativeOrAbsolute)); i.Tag = "D" + listeDéPiégés[index2].Valeur + "_Stase.png"; break; default: i.Source = new BitmapImage(new Uri("ms-appx:/Assets/D" + listeDéPiégés[index2].Valeur + ".png", UriKind.RelativeOrAbsolute)); i.Tag = "D" + listeDéPiégés[index2].Valeur + ".png"; break; } index2++; } if (listeDéPiégés.Count > 0) { TooltipPiege.Text = tooltipPiege; } } else { BorderPiege.Visibility = Visibility.Collapsed; } if (nombreLancers > 1) { tbLancesRestant.Text = nombreLancers + " restants"; } else { tbLancesRestant.Text = nombreLancers + " restant"; } switch (membres[indexCurrentMembre].Role) { case Membre.roleMembre.Capitaine: DetailPouvoir.Text = "+1 Dé pour chaque membre"; break; case Membre.roleMembre.Commandant: DetailPouvoir.Text = "+10 Réparation"; break; case Membre.roleMembre.Mécanicien: DetailPouvoir.Text = "+1 PV pour le vaisseau"; break; case Membre.roleMembre.Docteur: DetailPouvoir.Text = "+1 PV pour chaque membre"; break; default: break; } rtTitreModule.Text = modules[indexCurrentModule].Type.ToString(); rtNomPersonnage.Text = membres[indexCurrentMembre].Role.ToString(); pg_Personnage.Value = membres[indexCurrentMembre].pv; btLancer1.Background = new SolidColorBrush(Colors.White); btLancer1.Foreground = new SolidColorBrush(Colors.Black); }
/// <summary> /// Load la game précédemment sauvegardée (fichier local). /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btn_Load_Tapped(object sender, TappedRoutedEventArgs e) { var helper = new LocalObjectStorageHelper(); Vaisseau tempVaisseau = new Vaisseau(); if (helper.KeyExists("vaisseau")) { tempVaisseau = helper.Read <Vaisseau>("vaisseau"); List <Membre> tempMembres = new List <Membre>(); for (int i = 0; i < 4; i++) { if (helper.KeyExists("membre" + i)) { tempMembres.Add(helper.Read <Membre>("membre" + i)); } } List <Module> tempModules = new List <Module>(); for (int i = 0; i < 7; i++) { if (helper.KeyExists("module" + i)) { tempModules.Add(helper.Read <Module>("module" + i)); } } int tempNumeroSemaine = 0; if (helper.KeyExists("numeroSemaine")) { tempNumeroSemaine = helper.Read <int>("numeroSemaine"); } bool tempHardMode = false; if (helper.KeyExists("hardMode")) { tempHardMode = helper.Read <bool>("hardMode"); } bool tempGameStarted = false; if (helper.KeyExists("gameStarted")) { tempGameStarted = helper.Read <bool>("gameStarted"); } int tempIndexCurrentClickMembre = 0; if (helper.KeyExists("indexCurrentClickMembre")) { tempIndexCurrentClickMembre = helper.Read <int>("indexCurrentClickMembre"); } int tempIndexCurrentClickModule = 0; if (helper.KeyExists("indexCurrentClickModule")) { tempIndexCurrentClickModule = helper.Read <int>("indexCurrentClickModule"); } CurrentParameters parameters = new CurrentParameters(tempMembres, tempModules, tempIndexCurrentClickMembre, tempIndexCurrentClickModule, tempHardMode, tempVaisseau, tempNumeroSemaine, tempGameStarted); this.Frame.Navigate(typeof(MainPage), parameters); } else { MessageDialog msgbox = new MessageDialog("Vous n'avez pas de partie sauvegardée"); await msgbox.ShowAsync(); } }