protected void DrawAssetbundleRefrences(string assetbundleName, string key, int level = 0)
        {
            var instance            = AssetBundleManager.Instance;
            var abRefrences         = instance.GetAssetBundleRefrences(assetbundleName);
            var webRequestRefrences = instance.GetWebRequesterRefrences(assetbundleName);
            var abLoaderRefrences   = instance.GetAssetBundleLoaderRefrences(assetbundleName);
            var expanded            = false;

            expanded = GUILayoutUtils.DrawSubHeader(level + 1, "ABRefrence:", abRefrenceSate, key, abRefrences.Count.ToString());
            if (expanded && abRefrences.Count > 0)
            {
                GUILayoutUtils.DrawTextListContent(abRefrences);
            }

            expanded = GUILayoutUtils.DrawSubHeader(level + 1, "WebRequester:", webRequestRefrenceSate, key, webRequestRefrences.Count.ToString());
            if (expanded && webRequestRefrences.Count > 0)
            {
                GUILayoutUtils.DrawTextListContent(webRequestRefrences, "Sequence : ");
            }

            expanded = GUILayoutUtils.DrawSubHeader(level + 1, "ABLoader:", abLoaderfrenceSate, key, abLoaderRefrences.Count.ToString());
            if (expanded && abLoaderRefrences.Count > 0)
            {
                GUILayoutUtils.DrawTextListContent(abLoaderRefrences, "Sequence : ");
            }
        }
        protected void OnDrawAssetCaching()
        {
            var instance     = AssetBundleManager.Instance;
            var assetCaching = instance.GetAssetCaching();
            var totalCount   = instance.GetAssetCachingCount();
            var iter         = assetCaching.GetEnumerator();

            EditorGUILayout.BeginVertical();
            GUILayoutUtils.DrawProperty("Total loaded assets count : ", totalCount.ToString());
            while (iter.MoveNext())
            {
                var    assetbundleName = iter.Current.Key;
                var    assetNameList   = iter.Current.Value;
                string title           = string.Format("{0}[{1}]", assetbundleName, assetNameList.Count);
                if (GUILayoutUtils.DrawHeader(title, abItemSate, assetbundleName, false, false))
                {
                    GUILayoutUtils.DrawTextListContent(assetNameList);
                }
            }
            EditorGUILayout.EndVertical();
        }