判断AssetBundle是否已经加载如果已经加载就不要重新加载了

using UnityEngine;
using System.Collections;

public class LoadLogoAsset : MonoBehaviour {
    public string _prefabName;
    public int _BundleIndex=0;
    //public string _nextScenesName;
    //public string _previousScenesName;
    public int _nextSceneIndex;
    public int _previousSceneIndex;
    public bool _isReload;
    public GameObject _loadTexture;
    WWW _www;
    GameObject _insObjA;
    //------------------
    static AssetBundle _BunA;
    static AssetBundle _BunB;
    static AssetBundle _BunC;
    static AssetBundle _BunD;
    static AssetBundle _BunE;
    static AssetBundle _BunF;
    //------------------
    static AssetBundle[] _LogoBundle={_BunA,_BunB,_BunC,_BunD,_BunE};
    IEnumerator Start() {
        Debug.Log(_LogoBundle[_BundleIndex]);
            if(_LogoBundle[_BundleIndex]==null){
                if(Application.platform == RuntimePlatform.Android)
                {
                     _www = new WWW(Application.streamingAssetsPath+"/"+_prefabName+".unity3d");
                }
                else
                {
                    _www = new WWW("file://" +Application.dataPath + "/StreamingAssets" + "/"+_prefabName+".unity3d");
                }
                yield return _www;
                _LogoBundle[_BundleIndex]=_www.assetBundle;
                if(_www.progress==1){
                    OnIns();
                }
            }else{
                OnIns();
            }
    }
    void OnGUI(){
        GUI.color = Color.red;
        if(_LogoBundle[_BundleIndex]==null)GUI.Label(new Rect(10,10,500,100),(" "+(int)(_www.progress*100)));
    }
    public void OnIns(){
        _loadTexture.SetActive(false);
        _insObjA=Instantiate(_LogoBundle[_BundleIndex].mainAsset)as GameObject;;
    }
    public void LoadNextScene(){
        Destroy(_insObjA);
        if(_isReload){
            _LogoBundle[_BundleIndex].Unload(false);
        }
        Application.LoadLevel(_nextSceneIndex);
    }
    public void LoadPreviousScene(){
        Destroy(_insObjA);
        if(_isReload){
            _LogoBundle[_BundleIndex].Unload(false);
        }
        Application.LoadLevel(_previousSceneIndex);
    }
}

 

转载于:https://www.cnblogs.com/sy88/p/3389608.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值