Ejemplo n.º 1
0
        public static BuildPipelineCodes Build(BuildDependencyInfo buildInfo, out BuildWriteInfo writeInfo, bool useCache = false, BuildProgressTracker progressTracker = null)
        {
            writeInfo = new BuildWriteInfo();

            // Strip out sprite source textures if nothing references them directly
            var spriteSourceProcessor = new SpriteSourceProcessor(useCache, progressTracker);
            var exitCode = spriteSourceProcessor.Convert(buildInfo.assetInfo, out buildInfo.assetInfo);

            if (exitCode < BuildPipelineCodes.Success)
            {
                return(exitCode);
            }

            // Generate the commandSet from the calculated dependency information
            var commandSetProcessor = new BuildWriteProcessor(useCache, progressTracker);

            exitCode = commandSetProcessor.Convert(buildInfo, out writeInfo);
            if (exitCode < BuildPipelineCodes.Success)
            {
                return(exitCode);
            }

            return(exitCode);
        }
        public static BuildPipelineCodes Build(BuildSettings settings, BuildCompression compression, string outputFolder, BuildDependencyInfo buildInfo, BuildWriteInfo writeInfo, out BuildResultInfo result, bool useCache = false, BuildProgressTracker progressTracker = null)
        {
            result = new BuildResultInfo();

            // Write out resource files
            var commandSetWriter = new BuildWriteWriter(useCache, progressTracker);
            var exitCode         = commandSetWriter.Convert(writeInfo, settings, buildInfo.buildGlobalUsage, out result);

            if (exitCode < BuildPipelineCodes.Success)
            {
                return(exitCode);
            }

            // Archive and compress resource files
            var resourceArchiver = new ResourceFileArchiver(useCache, progressTracker);

            exitCode = resourceArchiver.Convert(result, compression, outputFolder, out result.bundleCRCs);
            if (exitCode < BuildPipelineCodes.Success)
            {
                return(exitCode);
            }

            // Generate Unity5 compatible manifest files
            //string[] manifestfiles;
            //var manifestWriter = new Unity5ManifestWriter(useCache, true);
            //if (!manifestWriter.Convert(commandSet, output, crc, outputFolder, out manifestfiles))
            //    return false;

            return(exitCode);
        }