少年修仙传客户端基础资源
dabaoji
2025-06-04 34d28a982a741d63f183884881b0bea73f8c8b47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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();
        }
 
    }
 
}