private void HintLoadAssetBundleAsync(AssetBundleHint hint, ResourceAsyncCallBack callback) { var mainRequest = new AsyncBundleCreateMainRequest(); var createRequest = HintCreateBundleAsync(hint); mainRequest.callback = callback; mainRequest.mainRequest = createRequest; AddAsyncCallback(mainRequest, OnAssetBundleLoadComplete); }
protected override void DoLoadAsync(string path, Type type, ResourceAsyncCallBack callBack) { var operation = Resources.LoadAsync(path, type); var resourceRequest = new AsyncOperationRequest(operation) { state = callBack }; AddAsyncCallback(resourceRequest, OnLoadAsyncComplete); }
private void HintInvokeCallback(AssetBundleHint hint, ResourceAsyncCallBack callback) { var resourceRequest = new AsyncResourceRequest(); var asset = hint.mainAsset; loadedAssetHintMap.Add(asset.GetInstanceID(), hint); resourceRequest.isDone = true; resourceRequest.asset = hint.mainAsset; callback(resourceRequest); }
private void HintLoadMainAssetAsync(AssetBundleHint hint, ResourceAsyncCallBack callBack) { //预定 HintIncreaseRefCount(hint); if (hint.bundle == null) { HintLoadAssetBundleAsync(hint, callBack); return; } DoHintLoadMainAssetAsync(hint, callBack); }
protected void DoLoadAsync(string path, ResourceAsyncCallBack callback) { AssetBundleHint hint = HintGet(path); if (hint != null) { HintLoadMainAssetAsync(hint, callback); } else { Debug.LogError("没有Asset资源"); callback(new AsyncResourceRequest()); } }
private void DoHintLoadMainAssetAsync(AssetBundleHint hint, ResourceAsyncCallBack callBack) { if (hint.mainAsset != null) { HintInvokeCallback(hint, callBack); return; } var request = hint.bundle.LoadAssetAsync(hint.assetName); var assetRequest = new AsyncAssetRequest(); assetRequest.request = request; assetRequest.callback = callBack; assetRequest.hint = hint; AddAsyncCallback(assetRequest, OnAssetLoadComplete); }
protected override void DoLoadAsync <T>(string path, ResourceAsyncCallBack callBack) { DoLoadAsync(path, typeof(T), callBack); }
protected override void DoLoadAsync(string path, Type type, ResourceAsyncCallBack callBack) { DoLoadAsync(path, callBack); }
public void LoadAsync <T>(string path, ResourceAsyncCallBack callBack) where T : Object { DoLoadAsync <T>(path, callBack); }
public void LoadAsync(string path, Type systemTypeInstance, ResourceAsyncCallBack callBack) { DoLoadAsync(path, systemTypeInstance, callBack); }
public void LoadAsync(string path, ResourceAsyncCallBack callBack) { DoLoadAsync(path, typeof(Object), callBack); }
protected abstract void DoLoadAsync <T>(string path, ResourceAsyncCallBack callBack) where T : Object;
protected abstract void DoLoadAsync(string path, Type type, ResourceAsyncCallBack callBack);
protected void AddAsyncCallback(IAsyncResourceRequest resourceRequest, ResourceAsyncCallBack callback) { _asyncCallBacks.Add(resourceRequest, callback); }