public void Build()
        {
            try
            {
                InitPipline();

                List <AssetFile> assetsNeedBuild = null;
                if (m_IAssetCollector != null)
                {
                    m_IAssetCollector.Hanlde(out assetsNeedBuild);
                }
                else
                {
                    return;
                }


                List <AssetFile> ganeraterAssets = null;
                m_IAssetGaneraters.ForEach(p =>
                {
                    p.Hanlde(assetsNeedBuild, out ganeraterAssets);
                    assetsNeedBuild = ganeraterAssets;
                });


                List <AssetFile> modifyAssets = null;

                m_IAssetModifiers.ForEach(p =>
                {
                    p.Hanlde(assetsNeedBuild, out modifyAssets);
                    assetsNeedBuild = modifyAssets;
                });

                List <AssetFileGroup> groups = null;
                if (m_IBundleBuidler != null)
                {
                    m_IBundleNameBuilder.Hanlde(assetsNeedBuild, out groups);
                }
                else
                {
                    return;
                }

                List <BundleFile> bundleFiles = null;
                if (m_IBundleBuidler != null)
                {
                    m_IBundleBuidler.Hanlde(groups, out bundleFiles);
                }

                if (m_IBundleExporter != null)
                {
                    m_IBundleExporter.Hanlde(bundleFiles);
                }
                else
                {
                    return;
                }
            }
            catch (CResourcesException e)
            {
                LogUtility.LogError("{0} {1}", e.Message, e.StackTrace);
            }
        }