Пример #1
0
 public static PersonaEditorLib.PersonaEncoding.PersonaEncoding NewEncoding()
 {
     if (newEncoding == null)
     {
         newEncoding = Static.PersonaEncodingManager.GetPersonaEncoding(Static.NewFontName);
     }
     return(newEncoding);
 }
Пример #2
0
 public static PersonaEditorLib.PersonaEncoding.PersonaEncoding OldEncoding()
 {
     if (oldEncoding == null)
     {
         oldEncoding = Static.PersonaEncodingManager.GetPersonaEncoding(Static.OldFontName);
     }
     return(oldEncoding);
 }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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());
                }
            }
        }