Exemplo n.º 1
0
 //保存目录框过长自动拉到最前面
 private void FolderBox_SourceUpdated(object sender, System.Windows.Data.DataTransferEventArgs e)
 {
     FolderBox.ScrollToHome();
 }
Exemplo n.º 2
0
        /// <summary>
        /// Export selected assets
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ExportBox_Click(object sender, EventArgs e)
        {
            Close();

            XmlWriter    doc = null;
            MemoryStream ms  = null;

            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent             = true;
            settings.OmitXmlDeclaration = false;
            settings.IndentChars        = "\t";
            settings.Encoding           = ASCIIEncoding.ASCII;


            if (ToBankBox.Checked)
            {
                // Export to a bank
                if (SaveFileBox.ShowDialog() != DialogResult.OK)
                {
                    return;
                }
            }
            else
            {
                // Export to a folder
                if (FolderBox.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                // For each node
                foreach (TreeNode node in TreeviewBox.Nodes[0].Nodes)
                {
                    // Number of asset saved
                    int assetcount = 0;

                    ms  = new MemoryStream();
                    doc = XmlWriter.Create(ms, settings);
                    doc.WriteStartDocument(true);
                    doc.WriteStartElement("bank");



                    // For each subnode checked
                    foreach (TreeNode subnode in node.Nodes)
                    {
                        if (!subnode.Checked)
                        {
                            continue;
                        }


                        // Invoke the generic method like this : provider.Save<[Asset Type]>(XmlNode node);
                        object[] args  = { doc };
                        Type[]   types = new Type[] { typeof(XmlWriter) };
                        //	mi = provider.GetType().GetMethod("Save", types).MakeGenericMethod(type);
                        //	mi.Invoke(provider, args);


                        ResourceManager.GetAsset <BitmapFont>(subnode.Text);

                        assetcount++;
                    }

                    // No asset saved
                    if (assetcount == 0)
                    {
                        continue;
                    }


                    doc.WriteEndElement();
                    doc.WriteEndDocument();
                    doc.Flush();
                    //SaveResource(zip, type.Name + ".xml", ms.ToArray());
                }
            }
        }