| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | 
							- using UnityEditor;
 
- using UnityEngine;
 
- using System.IO;
 
- namespace AssetBundleBrowser
 
- {
 
-     class SingleBundleInspector
 
-     {
 
-         internal static string currentPath { get; set; }
 
-         internal SingleBundleInspector() { }
 
-         private Editor m_Editor = null;
 
-         private Rect m_Position;
 
-         [SerializeField]
 
-         private Vector2 m_ScrollPosition;
 
-         private AssetBundleInspectTab m_assetBundleInspectTab = null;
 
-         private AssetBundleInspectTab.InspectTabData m_inspectTabData = null;
 
-         internal void SetBundle(AssetBundle bundle, string path = "", AssetBundleInspectTab.InspectTabData inspectTabData = null, AssetBundleInspectTab assetBundleInspectTab = null)
 
-         {
 
-             //static var...
 
-             currentPath = path;
 
-             m_inspectTabData = inspectTabData;
 
-             m_assetBundleInspectTab = assetBundleInspectTab;
 
-             //members
 
-             m_Editor = null;
 
-             if(bundle != null)
 
-             {
 
-                 m_Editor = Editor.CreateEditor(bundle);
 
-             }
 
-         }
 
-         internal void OnGUI(Rect pos)
 
-         {
 
-             m_Position = pos;
 
-             DrawBundleData();
 
-         }
 
-         private void DrawBundleData()
 
-         {
 
-             if (m_Editor != null)
 
-             {
 
-                 GUILayout.BeginArea(m_Position);
 
-                 m_ScrollPosition = EditorGUILayout.BeginScrollView(m_ScrollPosition);
 
-                 m_Editor.OnInspectorGUI();
 
-                 EditorGUILayout.EndScrollView();
 
-                 GUILayout.EndArea();
 
-             }
 
-             else if(!string.IsNullOrEmpty(currentPath))
 
-             {
 
-                 var style = new GUIStyle(GUI.skin.label);
 
-                 style.alignment = TextAnchor.MiddleCenter;
 
-                 style.wordWrap = true;
 
-                 GUI.Label(m_Position, new GUIContent("Invalid bundle selected"), style);
 
-                 if (m_inspectTabData != null && GUI.Button(new Rect(new Vector2((m_Position.position.x + m_Position.width / 2f) - 37.5f, (m_Position.position.y + m_Position.height / 2f) + 15), new Vector2(75, 30)), "Ignore file"))
 
-                 {
 
-                     var possibleFolderData = m_inspectTabData.FolderDataContainingFilePath(currentPath);
 
-                     if (possibleFolderData != null)
 
-                     {
 
-                         if (!possibleFolderData.ignoredFiles.Contains(currentPath))
 
-                             possibleFolderData.ignoredFiles.Add(currentPath);
 
-                         if(m_assetBundleInspectTab != null)
 
-                             m_assetBundleInspectTab.RefreshBundles();
 
-                     }
 
-                 } 
 
-             }
 
-         }
 
-     }
 
-     [CustomEditor(typeof(AssetBundle))]
 
-     internal class AssetBundleEditor : Editor
 
-     {
 
-         internal bool pathFoldout = false;
 
-         internal bool advancedFoldout = false;
 
-         public override void OnInspectorGUI()
 
-         {
 
-             AssetBundle bundle = target as AssetBundle;
 
-             using (new EditorGUI.DisabledScope(true))
 
-             {
 
-                 var leftStyle = new GUIStyle(GUI.skin.GetStyle("Label"));
 
-                 leftStyle.alignment = TextAnchor.UpperLeft;
 
-                 GUILayout.Label(new GUIContent("Name: " + bundle.name), leftStyle);
 
-                 long fileSize = -1;
 
-                 if(!System.String.IsNullOrEmpty(SingleBundleInspector.currentPath) && File.Exists(SingleBundleInspector.currentPath) )
 
-                 {
 
-                     System.IO.FileInfo fileInfo = new System.IO.FileInfo(SingleBundleInspector.currentPath);
 
-                     fileSize = fileInfo.Length;
 
-                 }
 
-                 if (fileSize < 0)
 
-                     GUILayout.Label(new GUIContent("Size: unknown"), leftStyle);
 
-                 else
 
-                     GUILayout.Label(new GUIContent("Size: " + EditorUtility.FormatBytes(fileSize)), leftStyle);
 
-                 var assetNames = bundle.GetAllAssetNames();
 
-                 pathFoldout = EditorGUILayout.Foldout(pathFoldout, "Source Asset Paths");
 
-                 if (pathFoldout)
 
-                 {
 
-                     EditorGUI.indentLevel++;
 
-                     foreach (var asset in assetNames)
 
-                         EditorGUILayout.LabelField(asset);
 
-                     EditorGUI.indentLevel--;
 
-                 }
 
-                 advancedFoldout = EditorGUILayout.Foldout(advancedFoldout, "Advanced Data");
 
-             }
 
-             if (advancedFoldout)
 
-             {
 
-                 EditorGUI.indentLevel++;
 
-                 base.OnInspectorGUI();
 
-                 EditorGUI.indentLevel--;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |