using UnityEngine; 
 | 
using UnityEditor; 
 | 
  
 | 
[CustomEditor(typeof(AssetBundleUtility))] 
 | 
public class AssetBundleUtilityEditor : Editor { 
 | 
  
 | 
    private string m_LoadAssetBundleName = "ui/texture"; 
 | 
    private string m_LoadAssetName = "Button_Blue_A"; 
 | 
  
 | 
    private string m_UnloadAssetBundleName = "ui/texture"; 
 | 
    private bool m_UnloadLoadedObject = false; 
 | 
    private bool m_IncludeDependenices = false; 
 | 
    private string m_UnloadAssetName = "Button_Blue_A"; 
 | 
  
 | 
    public override void OnInspectorGUI() { 
 | 
  
 | 
        m_LoadAssetBundleName = EditorGUILayout.TextField("AssetBundle名称", m_LoadAssetBundleName); 
 | 
        m_LoadAssetName = EditorGUILayout.TextField("Asset名称", m_LoadAssetName); 
 | 
  
 | 
        GUILayout.BeginHorizontal(); 
 | 
  
 | 
        if (GUILayout.Button("同步加载Asset")) { 
 | 
            AssetBundleUtility.Instance.Sync_LoadAsset(m_LoadAssetBundleName, m_LoadAssetName); 
 | 
        } 
 | 
  
 | 
        if (GUILayout.Button("异步协程加载Asset")) { 
 | 
            AssetBundleUtility.Instance.Co_LoadAsset(m_LoadAssetBundleName, m_LoadAssetName); 
 | 
        } 
 | 
  
 | 
        GUILayout.EndHorizontal(); 
 | 
  
 | 
        GUILayout.Space(10); 
 | 
  
 | 
        m_UnloadAssetBundleName = EditorGUILayout.TextField("AssetBundle名称", m_UnloadAssetBundleName); 
 | 
        m_UnloadLoadedObject = GUILayout.Toggle(m_UnloadLoadedObject, "同时卸载引用资源"); 
 | 
        m_IncludeDependenices = GUILayout.Toggle(m_IncludeDependenices, "同时卸载依赖包"); 
 | 
  
 | 
        if (GUILayout.Button("卸载AssetBundle")) { 
 | 
            AssetBundleUtility.Instance.UnloadAssetBundle(m_UnloadAssetBundleName, m_UnloadLoadedObject, m_IncludeDependenices); 
 | 
        } 
 | 
  
 | 
        GUILayout.Space(10); 
 | 
  
 | 
        GUILayout.BeginHorizontal(); 
 | 
  
 | 
        m_UnloadAssetName = EditorGUILayout.TextField("Asset名称", m_UnloadAssetName); 
 | 
  
 | 
        if (GUILayout.Button("卸载Asset")) { 
 | 
            AssetBundleUtility.Instance.UnloadAsset(m_UnloadAssetBundleName, m_UnloadAssetName); 
 | 
        } 
 | 
  
 | 
        GUILayout.EndHorizontal(); 
 | 
  
 | 
        if (GUILayout.Button("卸载所有AssetBundle")) { 
 | 
            AssetBundleUtility.Instance.UnloadAll(); 
 | 
        } 
 | 
  
 | 
        if (GUILayout.Button("调用Resources.UnloadUnUsed()")) { 
 | 
            Resources.UnloadUnusedAssets(); 
 | 
        } 
 | 
  
 | 
        if (GUILayout.Button("调用System.GC.Collect()")) { 
 | 
            System.GC.Collect(); 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |