示例#1
0
		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();
		}
示例#2
0
        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());
        }