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); }
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); }
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); }
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); }
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); }