複数のアセットを取り出す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class Sample : MonoBehaviour
{
IEnumerator Start ()
{
AssetBundle ab = null;
// AssetBundleロード
yield return Load ("fuga", x => ab = x);
// Barを取り出す
var bar = ab.LoadAsset<TextAsset> ("Bar");
Debug.Log (bar);
// MaterialHogeとPiyoを取り出す
var mats = ab.LoadAllAssets<Material> ();
foreach (var mat in mats)
Debug.Log (mat);
// 取り出し終えたのでAssetBundleをを破棄する
ab.Unload (false);
}
IEnumerator Load (string abName, System.Action<AssetBundle> callback)
{
string path = Application.streamingAssetsPath + "/" + abName;
byte[] b = File.ReadAllBytes (path);
AssetBundleCreateRequest req = AssetBundle.LoadFromMemoryAsync (b);
yield return req;
callback (req.assetBundle);
}
}