public static bool PackingAssetBundle(BuildTarget eTarget, eBundlePackType ePackType, bool bIsDelOriginal, string strOutputPath)
    {
        strOutputPath = string.Format("{0}/{1}", strOutputPath, SHHard.GetStrToPlatform(eTarget));

        // 정보 테이블 준비
        var pTableData = CreateTableData(eTarget);

        // 패킹할 번들정보 얻기
        var dicBundles = GetPackingBundleList(pTableData, ePackType);

        // 번들 패킹 시작 및 아웃풋
        if (false == MakeAssetBundle(eTarget, strOutputPath, dicBundles))
        {
            return(false);
        }

        // 원본리소스 모두 제거
        if (true == bIsDelOriginal)
        {
            DeleteOriginalResource(pTableData);
        }

        // 번들정보파일 업데이트 및 아웃풋
        UpdateBundleInfoTable(eTarget, pTableData, dicBundles, strOutputPath);

        // 메시지 출력
        Debug.LogFormat("Success Make AssetBundles!!(Count : {0})", dicBundles.Count);

        return(true);
    }
Esempio n. 2
0
 // 유틸 : PackingAssetBundles 패킹
 static void PackingAssetBundles(BuildTarget eTarget, eBundlePackType eType, bool bIsDelOriginal)
 {
     Debug.LogFormat("** AssetBundles Packing Start({0}) -> {1}", eTarget, DateTime.Now.ToString("yyyy-MM-dd [ HH:mm:ss ]"));
     {
         SHAssetBundleMaker.PackingAssetBundle(eTarget, eType, bIsDelOriginal);
         AssetDatabase.Refresh();
     }
     Debug.LogFormat("** AssetBundles Packing End({0}) -> {1}", eTarget, DateTime.Now.ToString("yyyy-MM-dd [ HH:mm:ss ]"));
 }
Esempio n. 3
0
    // 유틸 : Only Bundle Packing
    static void OnlyBundlePacking(eNationType eNation, BuildTarget eTarget, eBundlePackType ePackType)
    {
        // 빌드타겟 별 설정 처리
        SetBuildTargetInfo(eTarget);

        // Asset Bundle Packing
        PackingAssetBundles(eTarget, ePackType, false);

        // 후처리
        PostProcessor();
    }
Esempio n. 4
0
    static void PackingAssetBundles(BuildTarget eTarget, eBundlePackType eType)
    {
        Debug.LogFormat("** [SHBuilder] AssetBundles Packing Start({0}) -> {1}", eTarget, DateTime.Now.ToString("yyyy-MM-dd [ HH:mm:ss ]"));
        {
            string strExportPath = string.Format("{0}/{1}/{2}", SHPath.GetBuild(), SHUtils.GetPlatformStringByEnum(eTarget), "AssetBundle");
            SHUtils.CreateDirectory(strExportPath);

            BuildPipeline.BuildAssetBundles(strExportPath, BuildAssetBundleOptions.None, eTarget);
        }
        Debug.LogFormat("** [SHBuilder] AssetBundles Packing End({0}) -> {1}", eTarget, DateTime.Now.ToString("yyyy-MM-dd [ HH:mm:ss ]"));
    }
    // 유틸 : 번들패킹 명령
    void StartPacking(int iPlatformType, eBundlePackType ePackType, bool bIsDeleteOriginal, string strOutputPath)
    {
        if (eBundlePackType.None == ePackType)
        {
            return;
        }

        switch ((PlatformType)iPlatformType)
        {
        case PlatformType.AOS:  SHAssetBundleMaker.PackingAssetBundle(BuildTarget.Android, ePackType, bIsDeleteOriginal, strOutputPath); break;

        case PlatformType.IOS:  SHAssetBundleMaker.PackingAssetBundle(BuildTarget.iOS, ePackType, bIsDeleteOriginal, strOutputPath); break;

        case PlatformType.PC:   SHAssetBundleMaker.PackingAssetBundle(BuildTarget.StandaloneWindows, ePackType, bIsDeleteOriginal, strOutputPath); break;

        case PlatformType.ALL:
            SHAssetBundleMaker.PackingAssetBundle(BuildTarget.StandaloneWindows, ePackType, bIsDeleteOriginal, strOutputPath);
            SHAssetBundleMaker.PackingAssetBundle(BuildTarget.iOS, ePackType, bIsDeleteOriginal, strOutputPath);
            SHAssetBundleMaker.PackingAssetBundle(BuildTarget.Android, ePackType, bIsDeleteOriginal, strOutputPath);
            break;
        }
    }
Esempio n. 6
0
    // 유틸 : App Build + BundlePacking
    static void AppBuildWithBundlePacking(eNationType eNation, BuildTarget eTarget, eServiceMode eMode, eBundlePackType ePackType, BuildOptions eOption)
    {
        // 국가 별 설정 처리
        SetNationInfo(eNation, eMode);

        // 빌드타겟 별 설정 처리
        SetBuildTargetInfo(eTarget);

        // Asset Bundle Packing
        PackingAssetBundles(eTarget, ePackType, true);

        // App Build
        BuildApplication(SCENES, eTarget, eOption);

        // 후처리
        PostProcessor();
    }
Esempio n. 7
0
 static void AssetBundlesPacking(BuildTarget eTarget, eBundlePackType ePackType)
 {
     PackingAssetBundles(eTarget, ePackType);
     PostProcessor(eTarget);
 }
    // 유틸 : 패킹할 번들 리스트 만들기
    static Dictionary <string, AssetBundleInfo> GetPackingBundleList(SHTableData pTableData, eBundlePackType ePackingType)
    {
        var pBundleInfo = GetBundleTable(pTableData);

        switch (ePackingType)
        {
        case eBundlePackType.All:     return(pBundleInfo.GetContainer());

        case eBundlePackType.Update:  return(pBundleInfo.GetBundleListToCompare(GetResourceTable(pTableData)));
        }

        return(new Dictionary <string, AssetBundleInfo>());
    }
 public static bool PackingAssetBundle(BuildTarget eTarget, eBundlePackType ePackType, bool bIsDelOriginal)
 {
     return(PackingAssetBundle(eTarget, ePackType, bIsDelOriginal, SHPath.GetPathToExportAssetBundle()));
 }
 // 인터페이스 : 번들패킹
 public static bool PackingAssetBundle(BuildTarget eTarget, eBundlePackType ePackType)
 {
     return(PackingAssetBundle(eTarget, ePackType, true, SHPath.GetPathToExportAssetBundle()));
 }