コード例 #1
0
 string GetFontTexturePath(string fntPath, FntFont font) => Path.Combine(Path.GetDirectoryName(fntPath), font.Pages.Items[0].FilePath);
コード例 #2
0
        private void btnImportFile_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Fnt Files (*.fnt)|*.fnt|All Files (*.*)|*.*";
            bool? isOpenned = openFileDialog.ShowDialog(this);

            if (isOpenned != null && isOpenned.Value)
            {
                string filePath = openFileDialog.FileName;

                FntFont font = new FntFont(filePath);

                List<string> textureFiles = new List<string>();

                string directory = System.IO.Path.GetDirectoryName(filePath);
                foreach (var texturePage in font.Pages.Values)
                {
                    string textureFileName = System.IO.Path.Combine(directory, texturePage.TextureFile);
                    if (!System.IO.File.Exists(textureFileName))
                    {
                        MessageBox.Show(this,
                            "Has not texture file in same directory", "Error",
                            MessageBoxButton.OK, MessageBoxImage.Error);
                        return;
                    }

                    textureFiles.Add(textureFileName);
                }

                this.m_currentFontHolder = new FontHolder
                {
                    Font = filePath,
                    TextureFiles = textureFiles,
                };
                this.Title = string.Format("{0}", font.FontName);

            }
        }