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!"));
        }
Esempio n. 2
0
        /** 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;
        }
Esempio n. 3
0
 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中所有资源名称和路径都是小写
 }
Esempio n. 4
0
 public FLoadBundleAsset(int resId, string resPath)
 {
     m_resId   = resId;
     m_resPath = resPath;
     m_request = null;
 }