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); }
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); }
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)); }
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)); }
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)); }