private void LoadAssetInfo() { AssetInfoScriptableObject aiSo = Resources.Load("assetInfos") as AssetInfoScriptableObject; assetInfos = aiSo.assetInfos; assetInfoMap = new Dictionary <string, AssetInfo>(); foreach (var assetInfo in assetInfos) { assetInfoMap.Add(assetInfo.assetName, assetInfo); } }
public static void GenerateScirptObject() { AssetInfoScriptableObject aiSo = ScriptableObject.CreateInstance <AssetInfoScriptableObject>(); aiSo.assetInfos = new List <AssetInfo>(); string[] allBundles = AssetDatabase.GetAllAssetBundleNames(); foreach (var bdName in allBundles) { string[] assetNames = AssetDatabase.GetAssetPathsFromAssetBundle(bdName); foreach (var assetName in assetNames) { AssetInfo assetInfo = new AssetInfo(); assetInfo.bundleName = bdName; assetInfo.assetPath = assetName; assetInfo.type = System.IO.Path.GetExtension(assetName); assetInfo.assetName = System.IO.Path.GetFileNameWithoutExtension(assetName); aiSo.assetInfos.Add(assetInfo); } } AssetDatabase.CreateAsset(aiSo, "Assets/Resources/assetInfos.asset"); AssetDatabase.SaveAssets(); Debug.Log("Generate ScirptObject Done"); }