示例#1
0
        public UCContent()
        {
            InitializeComponent();
            DataContext = this;

            // Création du Dictionnaire<Enum de Races,List<Enum de Créatures>>
            CreaturesByRaceCollection = ServicesMonstres.GetCreaturesByRaceCollection();

            // Initialisation de l'ObservableCollection de Créatures
            EnumCreaturesList = new ObservableCollection <Enum>();

            // Création de la liste de Monstres
            AllMonstres = InitMonstres.InitListeMonstres();

            // Charge le dictionnaire des monstres créés
            MonstresCrees = (Dictionary <String, List <Monstre> >)SaveLoad.ChargementFichierBinaire("../../../Bestiaire.Services/don/MesMonstre.txt");

            // Charge la liste des races des monstres créés
            StringRacesMiensList = ServicesMonstres.GetStringRacesMiensList(MonstresCrees);
        }
示例#2
0
        /// <summary>
        /// Méthode de création de monstre
        /// Gestion de la création d'un monstre, empêche la création de 2 monstres identiques
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Creer_Click(object sender, RoutedEventArgs e)
        {
            Monstre monstre = new Monstre(Race.Text, Nom.Text);

            monstre.AddDescription(Description.Text);
            monstre.AddImage("../../../Bestiaire Witcher/img/Assets/not_found.jpg");
            monstre.AddFaiblesse("Huile contre les " + monstre.Race);
            monstre.IsDeletable = true;
            MyMainWindow.UCContent.MonstresCrees = (Dictionary <String, List <Monstre> >)SaveLoad.ChargementFichierBinaire("../../../Bestiaire.Services/don/MesMonstre.txt");


            // si la race du monstre existe et que le monstre existe déjà pour cette race, erreur
            if (MyMainWindow.UCContent.MonstresCrees.ContainsKey(monstre.Race) && MyMainWindow.UCContent.MonstresCrees[monstre.Race].Contains(monstre))
            {
                Error.Visibility = Visibility.Visible;
                Nom.Background   = Brushes.DarkRed;
            }
            // si il n'existe pas
            else
            {
                // si la race du monstre existe et qu'il n'existe pas, on le crée
                if (MyMainWindow.UCContent.MonstresCrees.ContainsKey(monstre.Race) && !MyMainWindow.UCContent.MonstresCrees[monstre.Race].Contains(monstre))
                {
                    MyMainWindow.UCContent.MonstresCrees[monstre.Race].Add(monstre);
                }
                // sinon on crée une nouvelle paire clef/valeur
                else
                {
                    MyMainWindow.UCContent.MonstresCrees.Add(monstre.Race, new List <Monstre> {
                        monstre
                    });
                }
                SaveLoad.SauvegardeFichierBinaire("../../../Bestiaire.Services/don/MesMonstre.txt", MyMainWindow.UCContent.MonstresCrees);
                MyMainWindow.UCContent.RaceMiens.ItemsSource = MyMainWindow.UCContent.StringRacesMiensList = ServicesMonstres.GetStringRacesMiensList(MyMainWindow.UCContent.MonstresCrees);
                Close();
            }
        }
示例#3
0
        /// <summary>
        /// Gère la suppression d'un monstre, et la sauvegarde permanente des changements
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Delete_Click(object sender, RoutedEventArgs e)
        {
            MonstresCrees[selectedRaceMiens].Remove(SelectedMonstre);

            if (MonstresCrees[selectedRaceMiens].Count == 0)
            {
                MonstresCrees.Remove(selectedRaceMiens);
            }

            ListViewCreatureMiens.Visibility = Visibility.Collapsed;
            Msg1.Visibility = Visibility.Visible;

            Race.Visibility = Visibility.Collapsed;
            MyMainWindow.UCContent.RaceMiens.ItemsSource = MyMainWindow.UCContent.StringRacesMiensList = ServicesMonstres.GetStringRacesMiensList(MyMainWindow.UCContent.MonstresCrees);
            RaceMiens.Visibility = Visibility.Visible;

            SaveLoad.SauvegardeFichierBinaire("../../../Bestiaire.Services/don/MesMonstre.txt", MonstresCrees);
        }