private static void GenerateTextData(ContentType contentType, GenerateInfo generateInfo) { var progressTitle = "Generate TextData"; var config = TextDataConfig.Instance; // 読み込み. EditorUtility.DisplayProgressBar(progressTitle, "Load contents.", 0f); var sheets = LoadSheetData(config.FileFormat, generateInfo.contentsFolderPath); if (sheets == null) { return; } var cryptoKey = new AesCryptoKey(config.CryptoKey, config.CryptoIv); var generateScript = !string.IsNullOrEmpty(generateInfo.scriptFolderPath); try { using (new AssetEditingScope()) { // Script. if (generateScript) { EditorApplication.LockReloadAssemblies(); DirectoryUtility.Clean(generateInfo.scriptFolderPath); AssetDatabase.ImportAsset(generateInfo.scriptFolderPath, ImportAssetOptions.ForceUpdate); EditorUtility.DisplayProgressBar(progressTitle, "Generate script.", 0.25f); CategoryScriptGenerator.Generate(sheets, generateInfo.scriptFolderPath); TextDataScriptGenerator.Generate(sheets, generateInfo.scriptFolderPath); ContentsScriptGenerator.Generate(sheets, generateInfo.scriptFolderPath, generateInfo.textIndex); } // Asset. EditorUtility.DisplayProgressBar(progressTitle, "Generate asset.", 0.5f); var textDataAsset = LoadAsset(generateInfo.assetPath); TextDataAssetGenerator.Build(textDataAsset, contentType, sheets, generateInfo.textIndex, cryptoKey); EditorUtility.DisplayProgressBar(progressTitle, "Complete.", 1f); } AssetDatabase.SaveAssets(); } finally { if (generateScript) { EditorApplication.UnlockReloadAssemblies(); } AssetDatabase.Refresh(); EditorUtility.ClearProgressBar(); } EditorUtility.ClearProgressBar(); }