public override void SaveDocumentAs(ITypeFactory factory) { Catel.Runtime.Serialization.Xml.XmlSerializer seri = (Catel.Runtime.Serialization.Xml.XmlSerializer)SerializationFactory.GetXmlSerializer(); SaveFileDialog dlg = new SaveFileDialog { Filter = "Rodska Note Documents (.rndml)|*.rndml", FileName = "ProgressionTree", DefaultExt = ".rndml" }; bool?result = dlg.ShowDialog(); if (result == true) { FileStream stream = new FileStream(dlg.FileName, FileMode.Create); this.Save(stream, seri); stream.Close(); JumpList jl = JumpList.GetJumpList(RodskaApplication.Current); bool jpExisting = false; foreach (JumpItem item in jl.JumpItems) { if (item is JumpPath) { JumpPath p = item as JumpPath; if (p.Path == dlg.FileName) { jpExisting = true; break; } } } if (!jpExisting) { JumpPath jp = new JumpPath { Path = dlg.FileName, CustomCategory = Type }; jl.JumpItems.Add(jp); JumpList.AddToRecentCategory(jp); jl.Apply(); } } }
public static ProgressionTree LoadFromFile(Catel.Runtime.Serialization.Xml.XmlSerializer seri, FileStream stream) { ProgressionTree tree = new ProgressionTree(); try { stream.Position = 0; seri.Warmup(new List <Type>() { typeof(TreeEntry), typeof(ProgressionEntry), typeof(ProgressionTree) }); tree = SavableModelBase <ProgressionTree> .Load(stream, seri); } catch (SerializationException ex) { Console.WriteLine(ex.Message); } return(tree); // return seri.Deserialize<ProgressionTree>(stream); }
public static Dialogue LoadFromFile(Catel.Runtime.Serialization.Xml.XmlSerializer seri, FileStream stream) { stream.Position = 0; return(seri.Deserialize <Dialogue>(stream)); }