Exemplo n.º 1
0
        private void HintLoadAssetBundleAsync(AssetBundleHint hint, ResourceAsyncCallBack callback)
        {
            var mainRequest   = new AsyncBundleCreateMainRequest();
            var createRequest = HintCreateBundleAsync(hint);

            mainRequest.callback    = callback;
            mainRequest.mainRequest = createRequest;

            AddAsyncCallback(mainRequest, OnAssetBundleLoadComplete);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 private void HintLoadMainAssetAsync(AssetBundleHint hint, ResourceAsyncCallBack callBack)
 {
     //预定
     HintIncreaseRefCount(hint);
     if (hint.bundle == null)
     {
         HintLoadAssetBundleAsync(hint, callBack);
         return;
     }
     DoHintLoadMainAssetAsync(hint, callBack);
 }
Exemplo n.º 5
0
        protected void DoLoadAsync(string path, ResourceAsyncCallBack callback)
        {
            AssetBundleHint hint = HintGet(path);

            if (hint != null)
            {
                HintLoadMainAssetAsync(hint, callback);
            }
            else
            {
                Debug.LogError("没有Asset资源");
                callback(new AsyncResourceRequest());
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
 protected override void DoLoadAsync <T>(string path, ResourceAsyncCallBack callBack)
 {
     DoLoadAsync(path, typeof(T), callBack);
 }
Exemplo n.º 8
0
 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);
 }