private void BrowseAndLoadSpringSetup() { string checkErrorMessage; if (!IsOkayToSetup(out checkErrorMessage)) { Debug.LogError(checkErrorMessage); return; } // var initialPath = ""; var initialDirectory = ""; // System.IO.Path.GetDirectoryName(initialPath); var fileFilters = new string[] { "CSV文件", "csv", "文本文件", "txt" }; var path = EditorUtility.OpenFilePanelWithFilters( "导入SpringBone", initialDirectory, fileFilters); if (path.Length == 0) { return; } var sourceText = FileUtil.ReadAllText(path); if (string.IsNullOrEmpty(sourceText)) { return; } var parsedSetup = DynamicsSetup.ParseFromRecordText(springBoneRoot, springBoneRoot, sourceText, importSettings); if (parsedSetup.Setup != null) { var buildAction = new BuildDynamicsAction(parsedSetup.Setup, path, springBoneRoot); if (parsedSetup.HasErrors) { SpringBoneSetupErrorWindow.ShowWindow(springBoneRoot, springBoneRoot, path, parsedSetup.Errors, buildAction); } else { buildAction.Perform(); } } else { const string ErrorFormat = "SpringBone导入失败。\n" + "原始数据中有错误,\n" + "或数据与骨骼名称不匹配。\n" + "详细信息请查看Console的日志。\n\n" + "springBoneRoot: {0}\n\n" + "Path: {1}"; var resultErrorMessage = string.Format(ErrorFormat, springBoneRoot.name, path); EditorUtility.DisplayDialog("导入SpringBone", resultErrorMessage, "OK"); Debug.LogError("SpringBone导入失败: " + springBoneRoot.name + "\n" + path); } Close(); }
private void BrowseAndLoadSpringSetup() { string checkErrorMessage; if (!IsOkayToSetup(out checkErrorMessage)) { Debug.LogError(checkErrorMessage); return; } // var initialPath = ""; var initialDirectory = ""; // System.IO.Path.GetDirectoryName(initialPath); var fileFilters = new string[] { "CSVファイル", "csv", "テキストファイル", "txt" }; var path = EditorUtility.OpenFilePanelWithFilters( "スプリングボーンセットアップを読み込む", initialDirectory, fileFilters); if (path.Length == 0) { return; } var sourceText = FileUtil.ReadAllText(path); if (string.IsNullOrEmpty(sourceText)) { return; } var parsedSetup = DynamicsSetup.ParseFromRecordText(springBoneRoot, springBoneRoot, sourceText, importSettings); if (parsedSetup.Setup != null) { var buildAction = new BuildDynamicsAction(parsedSetup.Setup, path, springBoneRoot); if (parsedSetup.HasErrors) { SpringBoneSetupErrorWindow.ShowWindow(springBoneRoot, springBoneRoot, path, parsedSetup.Errors, buildAction); } else { buildAction.Perform(); } } else { const string ErrorFormat = "スプリングボーンセットアップが失敗しました。\n" + "元データにエラーがあるか、もしくは\n" + "キャラクターにデータが一致しません。\n" + "詳しくはConsoleのログをご覧下さい。\n\n" + "キャラクター: {0}\n\n" + "パス: {1}"; var resultErrorMessage = string.Format(ErrorFormat, springBoneRoot.name, path); EditorUtility.DisplayDialog("スプリングボーンセットアップ", resultErrorMessage, "OK"); Debug.LogError("スプリングボーンセットアップ失敗: " + springBoneRoot.name + "\n" + path); } Close(); }