示例#1
0
        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();
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
 public static Dialogue LoadFromFile(Catel.Runtime.Serialization.Xml.XmlSerializer seri, FileStream stream)
 {
     stream.Position = 0;
     return(seri.Deserialize <Dialogue>(stream));
 }