示例#1
0
        private void LoadXML()
        {
            //MonsterList = MonsterReadWrite.GetEmbeddedMonsterXML();
            //CustomMonsterList = MonsterReadWrite.GetEmbeddedMonsterXML();

            MonsterList       = MonsterReadWrite.GetMonsterData();
            CustomMonsterList = MonsterReadWrite.GetCustomMonsterData();

            if (CustomMonsterList != null)
            {
                foreach (Monster m in CustomMonsterList.Monsters)
                {
                    MonsterList.Monsters.Add(m);
                }
            }

            MonsterList.Monsters.Sort((x, y) => x.Name.CompareTo(y.Name));


            if (MonsterList != null)
            {
                listMonster.ItemsSource       = MonsterList.Monsters;
                listMonster.DisplayMemberPath = "Name";
            }
        }
示例#2
0
        private void txtFilter_TextChanged(object sender, TextChangedEventArgs e)
        {
            List <string> res = new List <string>();

            var r = from m in MonsterList.Monsters
                    where m.Type.Contains(txtFilter.Text)
                    select m;

            FilteredMonsterList = new MonsterCompendium();

            foreach (var item in r)
            {
                FilteredMonsterList.Monsters.Add(item);
            }


            if (FilteredMonsterList.Monsters.Count > 0)
            {
                listMonster.ItemsSource = FilteredMonsterList.Monsters;
            }
            else
            {
                listMonster.ItemsSource = MonsterList.Monsters;
            }
        }
示例#3
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (CustomMonsterList == null)
            {
                CustomMonsterList = new MonsterCompendium();
            }

            CustomMonsterList.Monsters.Add(customMonster);

            if (MonsterReadWrite.WriteMonsterData(CustomMonsterList))
            {
                MessageBox.Show("Custom customMonster saved as: " + customMonster.Name, "Custom Monster Saved", MessageBoxButton.OK, MessageBoxImage.Information);
                LoadXML();
            }
        }
示例#4
0
        public static bool WriteMonsterData(MonsterCompendium monsters, string folder = "")
        {
            try
            {
                if (folder == string.Empty && Properties.Settings.Default.XMLFileLocation == string.Empty)
                {
                    System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog();

                    if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        Properties.Settings.Default.XMLFileLocation = dlg.SelectedPath;
                        Properties.Settings.Default.Save();

                        folder = Properties.Settings.Default.XMLFileLocation;
                    }
                }
                else if (folder == string.Empty)
                {
                    folder = Properties.Settings.Default.XMLFileLocation;
                }

                folder += "\\CustomMonsters.xml";

                using (FileStream xmlStream = new FileStream(folder, FileMode.Create))
                {
                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.Indent = true;

                    using (XmlWriter xmlWriter = XmlWriter.Create(xmlStream, settings))
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(MonsterCompendium));
                        serializer.Serialize(xmlWriter, monsters);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                System.Windows.MessageBox.Show("Error occured during save: " + ex.Message,
                                               "Save Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);

                return(false);
            }
        }
示例#5
0
        private void LoadXML()
        {
            MonsterList       = MonsterReadWrite.GetMonsterData();
            CustomMonsterList = MonsterReadWrite.GetCustomMonsterData();

            if (CustomMonsterList != null)
            {
                foreach (Monster m in CustomMonsterList.Monsters)
                {
                    MonsterList.Monsters.Add(m);
                }
            }

            //MonsterList.Monsters.Add(new Monster());

            if (MonsterList != null)
            {
                //GridMonster.ItemsSource = MonsterList.Monsters;
                listMonster.ItemsSource       = MonsterList.Monsters;
                listMonster.DisplayMemberPath = "Name";
            }

            //MonsterList = MonsterSerializer.GetDnDXML(folder);
        }
示例#6
0
 private void LoadXML()
 {
     MonsterList = MonsterReadWrite.GetMonsterData();
 }
示例#7
0
 private void LoadXML(string folder = "")
 {
     MonsterList             = MonsterReadWrite.GetMonsterData();
     GridMonster.ItemsSource = MonsterList.Monsters;
 }