Beispiel #1
0
    public bool TryGet(string url, Action <object> onloaded, Action <object> progressEvent = null,
                       BumResourceType resType = BumResourceType.eBumResourceType_assetBundle, BumResourcePoolType resourcePoolType = BumResourcePoolType.ProductObject, object param = null, Action <GameObject, object> beforeClone = null)
    {
        LoadPoolData loopdata = null;
        bool         hasPool  = poolDic.TryGetValue(url, out loopdata);

        if (hasPool)
        {
            if (onloaded != null)
            {
                onloaded(loopdata.resouce);
            }
            if (progressEvent != null)
            {
                progressEvent(1.0f);
            }
            if (beforeClone != null)
            {
                beforeClone(loopdata.resouce as GameObject, param);
            }
        }
        return(hasPool);
        //GameObject resource = getPoolObject(url, resourcePoolType);
        //if (resource == null)
        //{
        //    resource = (GameObject)GameObject.Instantiate<GameObject>(loopdata.resouce as GameObject);
        //    Rest(resource, resourcePoolType);
        //}
    }
Beispiel #2
0
    private void createCache(string url, object data, BumResourceType resType)
    {
        switch (resType)
        {
        case BumResourceType.eBumResourceType_assetBundle: createAssetCache(url, data); break;

        case BumResourceType.eBumResourceType_texture2D: createTextureCache(url, data); break;

        case BumResourceType.eBumResourceType_json: createConfigCache(url, data); break;

        case BumResourceType.eBumResourceType_userInfo: createUserConfigCache(url, data); break;
        }
    }
Beispiel #3
0
    public LoadPoolData addData(string url, object resource, BumResourceType type)
    {
        switch (type)
        {
        case BumResourceType.eBumResourceType_json: addJson(url, resource); break;

        case BumResourceType.eBumResourceType_texture2D: addTexture(url, resource); break;

        case BumResourceType.eBumResourceType_assetBundle: addPrefab(url, resource); break;

        default: addError(url); break;
        }
        return(null);
    }
Beispiel #4
0
    public void disPos(object target, BumResourceType resType)
    {
        switch (resType)
        {
        case BumResourceType.eBumResourceType_texture2D:
            disTexturePos(target as Texture); break;

        case BumResourceType.eBumResourceType_assetBundle:
            disPrefabDis(target as GameObject);
            break;

        default: Debug.LogWarningFormat("不存在{0}类型", resType); break;
        }
    }
Beispiel #5
0
    private bool checkCache(string url, BumResourceType resType)
    {
        bool exist = false;

        switch (resType)
        {
        case BumResourceType.eBumResourceType_assetBundle: exist = checkAssetCache(url); break;

        case BumResourceType.eBumResourceType_texture2D: exist = checkTextureCache(url); break;

        case BumResourceType.eBumResourceType_json: exist = checkConfigCache(url); break;

        case BumResourceType.eBumResourceType_userInfo: exist = checkUserConfigCache(url); break;
        }

        return(exist);
    }
Beispiel #6
0
    //unity封装www加载resources
    public void loadFromWWW(string url, Action <object> onloaded, Action <object> progressEvent, BumResourceType resType = BumResourceType.eBumResourceType_assetBundle, BumResourcePoolType resourceTyep = BumResourcePoolType.ProductObject, object param = null, Action <GameObject, object> beforeClone = null)
    {
        //if (checkPoolData( url, onloaded, null, resType, resourceTyep, param, beforeClone)) return;

        bool existAssetCache = checkCache(url, resType);

        switch (resType)
        {
        case BumResourceType.eBumResourceType_assetBundle: BumApp.Instance.StartCoroutine(loadAssetBundleFormWWW(url, onloaded, progressEvent, existAssetCache, param, beforeClone)); break;

        case BumResourceType.eBumResourceType_texture2D: BumApp.Instance.StartCoroutine(loadTexture2DFromWWW(url, onloaded, progressEvent, existAssetCache)); break;

        case BumResourceType.eBumResourceType_json: BumApp.Instance.StartCoroutine(loadJsonFromWWW(url, onloaded, progressEvent, false)); break;

        case BumResourceType.eBumResourceType_userInfo: BumApp.Instance.StartCoroutine(loadUserInfoJsonFromWWW(url, onloaded, progressEvent, existAssetCache)); break;

        default: break;
        }
    }
Beispiel #7
0
    //private void  recyclePoolData(string url,GameObject gameobject, BumResourcePoolType resourcePoolType)
    //{
    //    pool.recyclePoolData(url,gameobject,resourcePoolType);
    //}

    public void auto(string url, Action <object> onloaded, Action <object> progressEvent, BumResourceType resType = BumResourceType.eBumResourceType_assetBundle, BumResourcePoolType resourceType = BumResourcePoolType.ProductObject, object param = null, Action <GameObject, object> beforeClone = null)
    {
        if (checkLocal(url))
        {
            loadFromLocal(url, onloaded);
        }

        loadFromWWW(url, onloaded, progressEvent, resType, resourceType, param, beforeClone);
    }
Beispiel #8
0
 private bool checkPoolData(string url, Action <object> onloaded, Action <object> progressEvent, BumResourceType resType = BumResourceType.eBumResourceType_assetBundle, BumResourcePoolType resourcePoolType = BumResourcePoolType.ProductObject, object param = null, Action <GameObject, object> beforeClone = null)
 {
     return(pool.TryGet(url, onloaded, progressEvent, resType, resourcePoolType, param, beforeClone));
 }
Beispiel #9
0
    public static void loadResource(string url, Action <object> onloaded, Action <object> progressEvent = null, BumResourceType resType = BumResourceType.eBumResourceType_assetBundle,
                                    BumLoadingType loadingType = BumLoadingType.eBumLoadingType_www, BumResourcePoolType resourceType   = BumResourcePoolType.ProductObject, object param = null, Action <GameObject, object> beforeClone = null)
    {
        switch (loadingType)
        {
        case BumLoadingType.eBumLoadingType_auto: loader.auto(url, onloaded, progressEvent, resType, resourceType, param, beforeClone); break;

        case BumLoadingType.eBumLoadingType_local: loader.loadFromLocal(url, onloaded); break;

        case BumLoadingType.eBumLoadingType_www: loader.loadFromWWW(url, onloaded, progressEvent, resType, resourceType, param, beforeClone); break;

        default: break;
        }
    }