internal static TreeViewItem AppendBundleToTree(AssetBundleModel.BundleDataInfo bundle) { var itemName = bundle.m_Name.fullNativeName; var bunRoot = new TreeViewItem(itemName.GetHashCode(), 0, itemName); var str = itemName + k_SizeHeader; var sz = new TreeViewItem(str.GetHashCode(), 1, k_SizeHeader + bundle.TotalSize()); str = itemName + k_DependencyHeader; var dependency = new TreeViewItem(str.GetHashCode(), 1, k_DependencyEmpty); var depList = bundle.GetBundleDependencies(); if (depList.Count > 0) { dependency.displayName = k_DependencyHeader; foreach (var dep in bundle.GetBundleDependencies()) { str = itemName + dep; dependency.AddChild(new TreeViewItem(str.GetHashCode(), 2, dep)); } } str = itemName + k_MessageHeader; var msg = new TreeViewItem(str.GetHashCode(), 1, k_MessageEmpty); if (bundle.HasMessages()) { msg.displayName = k_MessageHeader; var currMessages = bundle.GetMessages(); foreach (var currMsg in currMessages) { str = itemName + currMsg.message; msg.AddChild(new BundleDetailItem(str.GetHashCode(), 2, currMsg.message, currMsg.severity)); } } bunRoot.AddChild(sz); bunRoot.AddChild(dependency); bunRoot.AddChild(msg); return(bunRoot); }
internal static TreeViewItem AppendBundleToTree(AssetBundleModel.BundleDataInfo bundle) { var itemName = bundle.m_Name.fullNativeName; var bunRoot = new TreeViewItem(itemName.GetHashCode(), 0, itemName); var str = itemName + k_SizeHeader; var sz = new TreeViewItem(str.GetHashCode(), 1, k_SizeHeader + bundle.TotalSize()); str = itemName + k_DependencyHeader; var dependency = new TreeViewItem(str.GetHashCode(), 1, k_DependencyEmpty); var depList = bundle.GetBundleDependencies(); if (depList.Count > 0) { dependency.displayName = k_DependencyHeader; foreach (var dep in bundle.GetBundleDependencies()) { str = itemName + dep.m_BundleName; TreeViewItem newItem = new TreeViewItem(str.GetHashCode(), 2, dep.m_BundleName); newItem.icon = Model.GetBundleIcon(); dependency.AddChild(newItem); Dictionary <string, TogglePathTreeViewItem> toAssetItems = new Dictionary <string, TogglePathTreeViewItem>(); for (int i = 0; i < dep.m_FromAssets.Count; ++i) { TogglePathTreeViewItem item = null; if (!toAssetItems.TryGetValue(dep.m_ToAssets[i].fullAssetName, out item)) { str = itemName + dep.m_BundleName + dep.m_ToAssets[i].displayName; item = new TogglePathTreeViewItem(str.GetHashCode(), 3, "/" + dep.m_ToAssets[i].displayName, "/" + dep.m_ToAssets[i].fullAssetName); item.icon = AssetDatabase.GetCachedIcon(dep.m_ToAssets[i].fullAssetName) as Texture2D; newItem.AddChild(item); toAssetItems.Add(dep.m_ToAssets[i].fullAssetName, item); } str = str + dep.m_FromAssets[i].displayName; TreeViewItem refItem = new TogglePathTreeViewItem(str.GetHashCode(), 4, k_ReferencedPrefix, dep.m_FromAssets[i].displayName, dep.m_FromAssets[i].fullAssetName); refItem.icon = AssetDatabase.GetCachedIcon(dep.m_FromAssets[i].fullAssetName) as Texture2D; item.AddChild(refItem); } } } str = itemName + k_MessageHeader; var msg = new TreeViewItem(str.GetHashCode(), 1, k_MessageEmpty); if (bundle.HasMessages()) { msg.displayName = k_MessageHeader; var currMessages = bundle.GetMessages(); foreach (var currMsg in currMessages) { str = itemName + currMsg.message; msg.AddChild(new BundleDetailItem(str.GetHashCode(), 2, currMsg.message, currMsg.severity)); } } bunRoot.AddChild(sz); bunRoot.AddChild(dependency); bunRoot.AddChild(msg); return(bunRoot); }