static Texture2D GetSharedIconOfInlucde(string assetPath) { var bundleList = BundleManager.GetRelatedBundles(assetPath); if (bundleList != null && bundleList.Count > 0) { foreach (BundleData bundle in bundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(bundle.name, currentBundle.name)) { return(BMGUIStyles.GetIcon("dependedAsset")); } else if (BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("sharedAsset")); } } } bundleList = BundleManager.GetIncludeBundles(assetPath); if (bundleList != null && bundleList.Count > 1) { return(BMGUIStyles.GetIcon("duplicatedInclude")); } return(null); }
static Texture2D GetSharedIconOfDepend(string guid) { var bundleList = BundleManager.GetIncludeBundles(guid); if (bundleList != null && bundleList.Count > 0) { foreach (BundleData bundle in bundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("sharedAsset")); } } } bundleList = BundleManager.GetExIncludeBundles(guid); if (bundleList != null && bundleList.Count > 0) { foreach (BundleData bundle in bundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("sharedAsset")); } } } bundleList = BundleManager.GetRelatedBundles(guid); if (bundleList != null && bundleList.Count > 1) { foreach (BundleData bundle in bundleList) { if (bundle.name == currentBundle.name) { continue; } if (!BundleManager.IsBundleDependOn(bundle.name, currentBundle.name) && !BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("duplicatedDepend")); } } } return(null); }
static void OnPostprocessAllAssets(string[] importAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromPathes) { #if IIPS List <string> changedAssets = new List <string>(); changedAssets.AddRange(importAssets); changedAssets.AddRange(deletedAssets); changedAssets.AddRange(movedFromPathes); List <string> createdAssets = new List <string>(); createdAssets.AddRange(importAssets); createdAssets.AddRange(movedAssets); bool dataChanged = false; foreach (string assetPath in changedAssets) { List <BundleData> bundles = BundleManager.GetRelatedBundles(assetPath); if (bundles == null) { continue; } foreach (BundleData bundle in bundles.ToArray()) // Use ToArray to make a copy to prevent change the org bundle list. { BundleManager.RefreshBundleDependencies(bundle); dataChanged = true; } } foreach (string assetPath in createdAssets) { foreach (BundleData bundle in BundleManager.bundles) { foreach (string include in bundle.includs) { if (assetPath.Contains(include)) { BundleManager.RefreshBundleDependencies(bundle); dataChanged = true; } } } } if (dataChanged) { BMDataAccessor.SaveBundleData(); } #endif }
static Texture2D GetSharedIconOfInlucde(string guid) { var includeBundleList = BundleManager.GetIncludeBundles(guid); if (includeBundleList != null && includeBundleList.Count > 1) { foreach (BundleData bundle in includeBundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("sharedAsset")); } else if (!BundleManager.IsBundleDependOn(bundle.name, currentBundle.name)) { return(BMGUIStyles.GetIcon("duplicatedInclude")); } } } var exIncludeBundleList = BundleManager.GetExIncludeBundles(guid); if (exIncludeBundleList != null && exIncludeBundleList.Count > 1) { foreach (BundleData bundle in exIncludeBundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(currentBundle.name, bundle.name)) { return(BMGUIStyles.GetIcon("sharedAsset")); } else if (!BundleManager.IsBundleDependOn(bundle.name, currentBundle.name)) { return(BMGUIStyles.GetIcon("duplicatedInclude")); } } } var dependBundleList = BundleManager.GetRelatedBundles(guid); if (dependBundleList != null && dependBundleList.Count > 0) { foreach (BundleData bundle in dependBundleList) { if (bundle.name == currentBundle.name) { continue; } if (BundleManager.IsBundleDependOn(bundle.name, currentBundle.name)) { return(BMGUIStyles.GetIcon("dependedAsset")); } } } return(null); }