static int _m_LoadAllAssetsAsync(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); UnityEngine.AssetBundle gen_to_be_invoked = (UnityEngine.AssetBundle)translator.FastGetCSObj(L, 1); int gen_param_count = LuaAPI.lua_gettop(L); if (gen_param_count == 1) { UnityEngine.AssetBundleRequest gen_ret = gen_to_be_invoked.LoadAllAssetsAsync( ); translator.Push(L, gen_ret); return(1); } if (gen_param_count == 2 && translator.Assignable <System.Type>(L, 2)) { System.Type _type = (System.Type)translator.GetObject(L, 2, typeof(System.Type)); UnityEngine.AssetBundleRequest gen_ret = gen_to_be_invoked.LoadAllAssetsAsync(_type); translator.Push(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.AssetBundle.LoadAllAssetsAsync!")); }
/** CoroutineMain */ public System.Collections.IEnumerator CoroutineMain(Fee.AssetBundleList.OnAssetBundleListCoroutine_CallBackInterface a_callback_interface, string a_assetbundle_name, string a_asset_name) { //result this.result = new ResultType(); AssetBundleItem t_assetbundle_item = Fee.AssetBundleList.AssetBundleList.GetInstance().GetAssetBundleItem(a_assetbundle_name); if (t_assetbundle_item == null) { //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : assetbundle_item = null : " + a_assetbundle_name + " : " + a_asset_name; yield break; } if (t_assetbundle_item.assetbundle_dummy != null) { //ダミーアセットバンドルが設定されている。 string t_path; if (t_assetbundle_item.assetbundle_dummy.asset_list.TryGetValue(a_asset_name, out t_path) == true) { Fee.File.Item t_item = Fee.File.File.GetInstance().RequestLoad(File.File.LoadRequestType.LoadResourcesPrefabFile, new File.Path(t_path)); do { if (a_callback_interface != null) { a_callback_interface.OnAssetBundleListCoroutine(t_item.GetResultProgress()); } yield return(null); }while(t_item.IsBusy() == true); UnityEngine.GameObject t_prefab = null; if (t_item.GetResultAssetType() == Asset.AssetType.Prefab) { if (t_item.GetResultAssetPrefab() != null) { t_prefab = t_item.GetResultAssetPrefab(); } } if (t_prefab == null) { //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : prefab = null : " + a_assetbundle_name + " : " + a_asset_name; yield break; } this.result.asset_file = new Asset.Asset(Asset.AssetType.Prefab, t_prefab); } else { //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : " + a_assetbundle_name + " : " + a_asset_name; yield break; } } else if (t_assetbundle_item.assetbundle_raw != null) { //アセットバンドル。 UnityEngine.AssetBundleRequest t_request = t_assetbundle_item.assetbundle_raw.LoadAssetAsync(a_asset_name); if (t_request == null) { //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : request = null : " + a_assetbundle_name + " : " + a_asset_name; yield break; } do { if (a_callback_interface != null) { a_callback_interface.OnAssetBundleListCoroutine(t_request.progress); } yield return(null); }while(t_request.isDone == false); UnityEngine.GameObject t_prefab = t_request.asset as UnityEngine.GameObject; if (t_prefab == null) { //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : prefab = null : " + a_assetbundle_name + " : " + a_asset_name; yield break; } this.result.asset_file = new Asset.Asset(Asset.AssetType.Prefab, t_prefab); } else { Tool.Assert(false); } //失敗。 this.result.errorstring = "Coroutine_LoadAssetBundleItemPrefabFile : " + a_assetbundle_name + " : " + a_asset_name; yield break; }
public override void start(System.Object obj) { UnityEngine.AssetBundle bundle = FResManager.getInstance().getRes(FResID.ASSETBUNDLE) as UnityEngine.AssetBundle; m_request = bundle.LoadAssetAsync(m_resPath.ToLower()); // AssetBundle中所有资源名称和路径都是小写 }
public FLoadBundleAsset(int resId, string resPath) { m_resId = resId; m_resPath = resPath; m_request = null; }