Esempio n. 1
0
 public static void AsyncLoadBundle(string bundleName, Action <UnityObject> onLoadFinish)
 {
     Hoba.Action <UnityObject> callback = null;
     if (onLoadFinish != null)
     {
         callback = delegate(UnityObject o)
         {
             onLoadFinish(o);
             return(true);
         }
     }
     ;
     AsyncLoadResourceInternal("", bundleName, callback, false);
 }
Esempio n. 2
0
    public static void AsyncLoadResource(string assetName, Hoba.Action <UnityObject> onLoadFinish, bool needInstantiate, string bundleName = null)
    {
        if (string.IsNullOrEmpty(bundleName))
        {
            bundleName = Instance.GetBundleName(assetName);
        }

        if (string.IsNullOrEmpty(bundleName))
        {
            onLoadFinish(null);
            return;
        }

        AsyncLoadResourceInternal(assetName, bundleName, onLoadFinish, needInstantiate);
    }
Esempio n. 3
0
    private static void LoadResourceInternalImp(string assetName, string bundleName, Hoba.Action <UnityObject> onLoadFinish, bool needInstantiate)
    {
        LoadAssetBundle(bundleName);

        AssetBundleLoadOperation operation = null;

        if (string.IsNullOrEmpty(assetName))
        {
            operation = new AssetBundleLoadBundleOperation(bundleName, onLoadFinish);
        }
        else
        {
            operation = new AssetBundleLoadAssetOperation(assetName, bundleName, onLoadFinish, needInstantiate);
        }

        _InProgressOperations.Add(operation);
    }
Esempio n. 4
0
    public static void AsyncLoadResource(string assetName, Action <UnityObject> onLoadFinish, bool needInstantiate, string bundleName = null)
    {
        if (string.IsNullOrEmpty(bundleName))
        {
            bundleName = Instance.GetBundleName(assetName);
        }

        if (string.IsNullOrEmpty(bundleName))
        {
            onLoadFinish(null);
            return;
        }

        Hoba.Action <UnityObject> callback = null;
        if (onLoadFinish != null)
        {
            callback = delegate(UnityObject o) {
                onLoadFinish(o);
                return(true);
            }
        }
        ;
        AsyncLoadResourceInternal(assetName, bundleName, callback, needInstantiate);
    }
Esempio n. 5
0
    private static void AsyncLoadResourceInternal(string assetName, string bundleName, Hoba.Action <UnityObject> onLoadFinish, bool needInstantiate)
    {
        if (string.IsNullOrEmpty(bundleName))
        {
            HobaDebuger.LogWarningFormat("Can not load bundle with empty name, {0} - {1}", assetName, bundleName);
            return;
        }

        if (assetName == null)
        {
            assetName = "";
        }

        var cb = onLoadFinish;

#if DEBUG_DELAY
        if (ResLoadDelay > 0)
        {
            cb = (asset) =>
            {
                Instance.StartCoroutine(DelayCallOnLoadFinish(ResLoadDelay, onLoadFinish, asset));
            };
        }
#endif
        //assetName = assetName.ToLower();
        bundleName = bundleName.ToLower();
        LoadResourceInternalImp(assetName, bundleName, cb, needInstantiate);
    }