namespace XGame.Editor.Build.AssetBundles
{
    internal partial class BundleManifestsController
    {
        public static BundleManifestsController Creat(BundleContext context)
        {
            var shaderCollector = new ShaderBundleCollector(context);
            var atlasCollector = new AtlasBundleCollector(context);
            var packerCollector = new PackerBundleCollector(context, atlasCollector);
            var depCollector = new DepBundleCollector(context);
            var sceneCollector = new SceneBundleCollector(context);
            var bundleCollector = new AssetBundleCollector(context, shaderCollector, atlasCollector, packerCollector, depCollector, sceneCollector);
            var depsController = new BundleDepsController(context);
            var sceneController = new SceneManifestController(sceneCollector);
            var controller = new BundleManifestsController(context, bundleCollector, depsController, sceneController);
            return controller;
        }
    }
}
