private void SelectAdventure() { try { AppGlobals.currGlobalAdventure = new Adventure(); //LOADS THE META FILE BASED OFF THE SELETED ITEM DirectoryInfo currentDir = new DirectoryInfo(@AppGlobals.creationGameDir); var exists = currentDir.GetDirectories().Where(d => d.Name.Contains(lvAvailableCreations.SelectedItem.ToString())).Count(); if (exists == 0) { StoryGeneratorStageOne stageOneE = new StoryGeneratorStageOne(AppGlobals.currGlobalAdventure); this.NavigationService.Navigate(stageOneE); return; } DirectoryInfo selection = currentDir.GetDirectories().Where(d => d.Name.Contains(lvAvailableCreations.SelectedItem.ToString())).First(); FileInfo selectionCreationMeta = selection.GetFiles().Where(d => d.Name.Contains(lvAvailableCreations.SelectedItem.ToString() + "-creationmeta.xaml")).First(); using (FileStream fs = new FileStream(@selectionCreationMeta.FullName, FileMode.Open)) { try { var document = (FlowDocument)XamlReader.Load(fs); if (document != null) { foreach (var block in document.Blocks) { TextRange textRange = new TextRange(block.ContentStart, block.ContentEnd); string[] storyMeta = textRange.Text.Split('['); foreach (string data in storyMeta) { if (data.Contains("%ARMOR%")) AppGlobals.currGlobalAdventure.Armor = Convert.ToInt32(data.Split(']').Last()); if (data.Contains("%ARMORSET%")) AppGlobals.currGlobalAdventure.ArmorSet.ArmorName = data.Split(']').Last(); if (data.Contains("%AUTHOR%")) AppGlobals.currGlobalAdventure.Author = data.Split(']').Last(); if (data.Contains("%CANPLAYEREDIT%")) AppGlobals.currGlobalAdventure.CanPlayerEdit = Convert.ToBoolean(data.Split(']').Last()); if (data.Contains("%CHARACTERNAME%")) AppGlobals.currGlobalAdventure.CharacterName = data.Split(']').Last(); if (data.Contains("%CHARACTERTITLE%")) AppGlobals.currGlobalAdventure.CharacterTitle = data.Split(']').Last(); if (data.Contains("%GENRE%")) AppGlobals.currGlobalAdventure.Genre = data.Split(']').Last(); if (data.Contains("%HEALTH%")) AppGlobals.currGlobalAdventure.Health = Convert.ToInt32(data.Split(']').Last()); if (data.Contains("%LUCK%")) AppGlobals.currGlobalAdventure.Luck = Convert.ToInt32(data.Split(']').Last()); if (data.Contains("%MAGIC%")) AppGlobals.currGlobalAdventure.Magic = Convert.ToInt32(data.Split(']').Last()); if (data.Contains("%MELEEWEAPON%")) AppGlobals.currGlobalAdventure.MeleeWeapon.WeaponName = data.Split(']').Last(); if (data.Contains("%RANGEDWEAPON%")) AppGlobals.currGlobalAdventure.RangedWeapon.WeaponName = data.Split(']').Last(); if (data.Contains("%RPGENABLED%")) AppGlobals.currGlobalAdventure.RPGEnabled = Convert.ToBoolean(data.Split(']').Last()); if (data.Contains("%SPEED%")) AppGlobals.currGlobalAdventure.Speed = Convert.ToInt32(data.Split(']').Last()); if (data.Contains("%SUMMARY%")) AppGlobals.currGlobalAdventure.Summary = data.Split(']').Last(); if (data.Contains("%THEME%")) AppGlobals.currGlobalAdventure.Theme = data.Split(']').Last(); if (data.Contains("%TITLE%")) AppGlobals.currGlobalAdventure.Title = data.Split(']').Last(); } } } } catch (SerializationException err) { exHand.LogException(err, "LoadPage-SelectSave"); } finally { fs.Close(); } } StoryGeneratorStageOne stageOne = new StoryGeneratorStageOne(AppGlobals.currGlobalAdventure); this.NavigationService.Navigate(stageOne); } catch (Exception err) { exHand.LogException(err, "StoryGeneratorActionPage-SelectAdventure"); } }
private void StartNewAdventure() { try { Adventure newAdv = new Adventure(); StoryGeneratorStageOne generatorPageStageOne = new StoryGeneratorStageOne(newAdv); this.NavigationService.Navigate(generatorPageStageOne); } catch (Exception err) { exHand.LogException(err, "StoryGeneratorActionPage-StartNewAdventure"); } }