Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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");
        }