コード例 #1
0
        public void Execute(BuildTarget buildTarget, GameDefinitionBuildInfo[] gameDefinitions)
        {
            gameDefinitions = FilterSupportedGameDefinitions(gameDefinitions);
            if (gameDefinitions.Length == 0)
            {
                return;
            }

            var bundleBuildDirectory = this.buildSettings.GetAssetBundleBuildPath(buildTarget);

            if (!PathUtility.EnsureDirectory(bundleBuildDirectory))
            {
                RepairBundleConflicts(gameDefinitions, this.buildSettings.GetAssetBundleBuildPath(buildTarget));
            }
            BuildPipeline.BuildAssetBundles(bundleBuildDirectory, CreateAssetBundleBuilds(gameDefinitions), this.buildSettings.buildAssetBundleOptions, buildTarget);
            foreach (var gameDefinition in gameDefinitions)
            {
                var bundleName = (gameDefinition.gameDefinition as IGameBundleDefinition).BundleName;
                PathUtility.CopyFileToDirectory(bundleName, bundleBuildDirectory, gameDefinition.directory);
                this.builtBundlePaths.Add(Path.Combine(gameDefinition.directory, bundleName));
            }
        }