string GetFontTexturePath(string fntPath, FntFont font) => Path.Combine(Path.GetDirectoryName(fntPath), font.Pages.Items[0].FilePath);
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); } }