private static AssetImportOutput[] ImportAssets(IEnumerable<string> inputFiles, string targetBaseDir, string inputBaseDir, bool simulate) { // Early-out, if no input files are specified if (!inputFiles.Any()) return new AssetImportOutput[0]; bool userAbort = false; bool success = false; // Set up an import operation and process it AssetFirstImportOperation importOperation = new AssetFirstImportOperation(inputFiles, targetBaseDir, inputBaseDir); importOperation.ConfirmOverwriteCallback = ConfirmOverwriteData; importOperation.ImporterConflictHandler = data => { IAssetImporter userSelection = ResolveImporterConflict(data); if (userSelection == null) userAbort = true; return userSelection; }; success = simulate ? importOperation.SimulatePerform() : importOperation.Perform(); // If the operation was a failure, display an error message in the editor UI. if (!simulate && !success && !userAbort) { MessageBox.Show( string.Format(Properties.GeneralRes.Msg_CantImport_Text, inputFiles.First()), Properties.GeneralRes.Msg_CantImport_Caption, MessageBoxButtons.OK, MessageBoxIcon.Error); } return importOperation.Output.ToArray(); }
private static AssetImportOutput[] ImportAssets(IEnumerable <string> inputFiles, string targetBaseDir, string inputBaseDir, bool simulate) { // Early-out, if no input files are specified if (!inputFiles.Any()) { return(new AssetImportOutput[0]); } bool userAbort = false; bool success = false; // Set up an import operation and process it AssetFirstImportOperation importOperation = new AssetFirstImportOperation(inputFiles, targetBaseDir, inputBaseDir); importOperation.ConfirmOverwriteCallback = ConfirmOverwriteData; importOperation.ImporterConflictHandler = data => { IAssetImporter userSelection = ResolveImporterConflict(data); if (userSelection == null) { userAbort = true; } return(userSelection); }; success = simulate ? importOperation.SimulatePerform() : importOperation.Perform(); // Did we actually do something? if (!simulate && !userAbort) { // If the operation was a failure, display an error message in the editor UI. if (!success) { MessageBox.Show( string.Format(Properties.GeneralRes.Msg_CantImport_Text, inputFiles.First()), Properties.GeneralRes.Msg_CantImport_Caption, MessageBoxButtons.OK, MessageBoxIcon.Error); } // Global event handling OnImportFinished(importOperation, success); } return(importOperation.Output.ToArray()); }