public static PersonaEditorLib.PersonaEncoding.PersonaEncoding NewEncoding() { if (newEncoding == null) { newEncoding = Static.PersonaEncodingManager.GetPersonaEncoding(Static.NewFontName); } return(newEncoding); }
public static PersonaEditorLib.PersonaEncoding.PersonaEncoding OldEncoding() { if (oldEncoding == null) { oldEncoding = Static.PersonaEncodingManager.GetPersonaEncoding(Static.OldFontName); } return(oldEncoding); }
bool Save() { if (IsChanged) { var result = MessageBox.Show("Save changed?", "Save", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Yes); if (result == MessageBoxResult.Yes) { var enc = Static.EncodingManager.GetPersonaEncoding(Static.FontManager.GetPersonaFontName(_FontSelect)); if (enc.Tag == "Empty") { PersonaEditorLib.PersonaEncoding.PersonaEncoding personaEncoding = new PersonaEditorLib.PersonaEncoding.PersonaEncoding(); foreach (var a in GlyphList) { if (a.Char.Length > 0) { personaEncoding.Add(a.Index, a.Char[0]); } } personaEncoding.SaveFNTMAP(Path.Combine(Static.FontManager.sourcedir, Static.FontManager.GetPersonaFontName(_FontSelect) + ".FNTMAP")); } else { foreach (var a in GlyphList) { if (a.Char.Length > 0) { enc.Add(a.Index, a.Char[0]); } } enc.SaveFNTMAP(enc.FilePath); Static.EncodingManager.Update(Static.FontManager.GetPersonaFontName(_FontSelect)); } } else if (result == MessageBoxResult.Cancel) { return(false); } IsChanged = false; return(true); } else { return(true); } }
private void SaveAs_Click() { SaveFileDialog SFD = new SaveFileDialog(); FileType fileType = (PersonaFile.Object as IPersonaFile).Type; string filter = PersonaEditorLib.Utilities.PersonaFile.PersonaSaveFileFilter.ContainsKey(fileType) ? PersonaEditorLib.Utilities.PersonaFile.PersonaSaveFileFilter[fileType] : ""; SFD.Filter = "RAW Data|*.*" + filter; SFD.FileName = PersonaFile.Name; SFD.DefaultExt = Path.GetExtension(PersonaFile.Name); SFD.AddExtension = true; SFD.OverwritePrompt = true; if (SFD.ShowDialog() == true) { if (SFD.FilterIndex > 1) { if (PersonaFile.Object is IPersonaFile pFile) { if (pFile.Type == FileType.TMX | pFile.Type == FileType.FNT | pFile.Type == FileType.DDS) { PersonaEditorLib.Utilities.PersonaFile.SaveImageFile(PersonaFile, SFD.FileName); } else if (pFile.Type == FileType.BMD) { var result = PersonaEditorGUI.Controls.ToolBox.ToolBox.Show(PersonaEditorGUI.Controls.ToolBox.ToolBoxType.SaveAsPTP); if (result == PersonaEditorGUI.Controls.ToolBox.ToolBoxResult.Ok) { PersonaEditorLib.PersonaEncoding.PersonaEncoding temp = Settings.AppSetting.Default.SaveAsPTP_CO2N ? Static.EncodingManager.GetPersonaEncoding(Settings.AppSetting.Default.SaveAsPTP_Font) : null; PersonaEditorLib.Utilities.PersonaFile.SavePTPFile(PersonaFile, SFD.FileName, temp); } } else { throw new Exception("SavePersonaFileDialog"); } } else { throw new Exception("SavePersonaFileDialog"); } } else { File.WriteAllBytes(SFD.FileName, (PersonaFile.Object as IFile).Get()); } } }