예제 #1
0
 /// <summary>
 /// 指定したフォルダーにMB(Dialog)を保存する。
 /// </summary>
 /// <param name="folderPath">フォルダーのパス</param>
 /// <param name="langDialogInfoJP">Dialog情報</param>
 /// <param name="useReplace">上書きの有無</param>
 public static void SaveToFolder(string folderPath, UapDialogInfo langDialogInfoJP, bool useReplace)
 {
     foreach (var dialogFile in langDialogInfoJP.Items.Values)
     {
         var path = Path.Combine(folderPath, dialogFile.FileID + ".DialogPackage");
         //// exists | useReplace |
         ////    y   |     y      | run
         ////    y   |     n      | cancel
         ////    n   |     y      | run
         ////    n   |     n      | run
         if (File.Exists(path) && !useReplace)
         {
             //// 上書きしない
             var fileName = Path.GetFileName(path);
             Console.WriteLine($"ファイルが既に存在します。File({fileName}){Environment.NewLine}上書きする場合は -r オプションを指定してください。");
         }
         else
         {
             OxfFileUtils.SafeCreateDirectory(folderPath);
             using (var sw = new StreamWriter(path, false, Encoding.ASCII))
             {
                 var bw = new BinaryWriter(sw.BaseStream);
                 WriteEntries(dialogFile, bw);
             }
         }
     }
 }
예제 #2
0
 /// <summary>
 /// 指定したフォルダー内のMB(Dialog)を読み込む。
 /// </summary>
 /// <param name="dialogInfo">Dialog情報</param>
 /// <param name="folderPath">フォルダーのパス</param>
 /// <param name="pattern">ファイル名のパターン</param>
 public static void LoadFromFolder(
     UapDialogInfo dialogInfo, string folderPath, string pattern)
 {
     string[] files = Directory.GetFiles(
         folderPath, pattern, SearchOption.AllDirectories);
     foreach (var locFile in files)
     {
         LoadFromFile(dialogInfo, locFile);
     }
 }
예제 #3
0
 /// <summary>
 /// 指定したパスのMB(Dialog)を読み込み、Dialog情報に追加する。
 /// </summary>
 /// <param name="dialogInfo">Dialog情報</param>
 /// <param name="path">MB(Dialog)のパス</param>
 private static void LoadFromFile(UapDialogInfo dialogInfo, string path)
 {
     using (var sr = new StreamReader(path))
     {
         using (var br = new BinaryReader(sr.BaseStream, Encoding.UTF8))
         {
             var fileID     = Path.GetFileNameWithoutExtension(path);
             var dialogFile = new UapDialogFile(fileID);
             ReadEntries(dialogFile, br);
             dialogInfo.AddFile(dialogFile);
         }
     }
 }