Exemplo n.º 1
0
        public static bool IsAssetTypeMatched(BundleBuilderData.BundleSplitRule rule, string assetPath, FileInfo fileInfo)
        {
            if (rule.assetTypes != 0)
            {
                var ext = fileInfo.Extension.ToLower();
                if ((rule.assetTypes & BundleAssetTypes.Prefab) == 0 && ext == ".prefab")
                {
                    return(false);
                }
                else if ((rule.assetTypes & BundleAssetTypes.TextAsset) == 0 && IsTextAsset(ext))
                {
                    return(false);
                }
                else if ((rule.assetTypes & BundleAssetTypes.Animation) == 0 && ext == ".anim")
                {
                    return(false);
                }
                else if ((rule.assetTypes & BundleAssetTypes.Material) == 0 && ext == ".mat")
                {
                    return(false);
                }
                else if ((rule.assetTypes & BundleAssetTypes.Texture) == 0 && IsTextureAsset(ext))
                {
                    return(false);
                }
                else if ((rule.assetTypes & BundleAssetTypes.Audio) == 0 && IsAudioAsset(ext))
                {
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 2
0
 public static bool IsAssetTypeMatched(BundleBuilderData.BundleSplitRule rule, Object asset)
 {
     if (rule.assetTypes != 0)
     {
         if ((rule.assetTypes & BundleAssetTypes.Prefab) == 0 && asset is GameObject)
         {
             var file = AssetDatabase.GetAssetPath(asset);
             if (file != null && file.EndsWith(".prefab"))
             {
                 return(false);
             }
         }
         else if ((rule.assetTypes & BundleAssetTypes.TextAsset) == 0 && asset is TextAsset)
         {
             return(false);
         }
         else if ((rule.assetTypes & BundleAssetTypes.Animation) == 0 && (asset is Animation || asset is AnimationClip))
         {
             return(false);
         }
         else if ((rule.assetTypes & BundleAssetTypes.Material) == 0 && asset is Material)
         {
             return(false);
         }
         else if ((rule.assetTypes & BundleAssetTypes.Texture) == 0 && asset is Texture)
         {
             return(false);
         }
         else if ((rule.assetTypes & BundleAssetTypes.Audio) == 0 && asset is AudioClip)
         {
             return(false);
         }
     }
     return(true);
 }
Exemplo n.º 3
0
        public static bool IsRuleMatched(BundleBuilderData.BundleSplitRule rule, string assetPath)
        {
            var fileInfo  = new FileInfo(assetPath);
            var assetName = fileInfo.Name.Substring(0, fileInfo.Name.Length - fileInfo.Extension.Length);

            switch (rule.type)
            {
            case BundleBuilderData.BundleSplitType.Prefix:
            {
                if (!assetName.StartsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.Suffix:
            {
                if (!assetName.EndsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.FileSuffix:
            {
                if (!assetPath.EndsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.PathPrefix:
            {
                if (!assetPath.StartsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }
            }

            return(IsAssetTypeMatched(rule, assetPath, fileInfo));
        }
Exemplo n.º 4
0
        public static bool IsRuleMatched(BundleBuilderData.BundleSplitRule rule, Object asset, string assetPath)
        {
            switch (rule.type)
            {
            case BundleBuilderData.BundleSplitType.Prefix:
            {
                if (!asset.name.StartsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.Suffix:
            {
                if (!asset.name.EndsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.FileSuffix:
            {
                if (!assetPath.EndsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }

            case BundleBuilderData.BundleSplitType.PathPrefix:
            {
                if (!assetPath.StartsWith(rule.keyword))
                {
                    return(false);
                }

                break;
            }
            }

            return(IsAssetTypeMatched(rule, asset));
        }
Exemplo n.º 5
0
 public static bool IsRuleMatched(BundleBuilderData.BundleSplitRule rule, Object asset)
 {
     if (rule.type == BundleBuilderData.BundleSplitType.Prefix)
     {
         if (!asset.name.StartsWith(rule.keyword))
         {
             return(false);
         }
     }
     else if (rule.type == BundleBuilderData.BundleSplitType.Suffix)
     {
         if (!asset.name.EndsWith(rule.keyword))
         {
             return(false);
         }
     }
     return(IsAssetTypeMatched(rule, asset));
 }