Ejemplo n.º 1
0
    public override int LoadAsync(IAssetLoader loader, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted)
    {
        if (Asset == null)
        {
            ABAssetLoader abLoader = loader as ABAssetLoader;
            if (abLoader == null)
            {
                OnAssetLoadCompleted(0, null);
                return(0);
            }
            string sABPath = abLoader.GetAssetBundleFromAsset(Path);
            if (string.IsNullOrEmpty(sABPath))
            {
                return(0);
            }

            m_ABInfo = AssetCacheMgr.Instance.GetABCache(sABPath);
            AssetLoadCompletedEvent += OnAssetLoadCompleted;
            AssetLoadCompletedEvent += OnLoadAssetCompeleted;
            m_ABInfo.LoadABAsync(true, null, OnLoadABCompeleted);
            return(0);
        }
        else
        {
            OnAssetLoadCompleted.Invoke(0, Asset);
            return(0);
        }
    }
Ejemplo n.º 2
0
    public int LoadAssetAsync <T>(string sPath, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object
    {
#if UNITY_EDITOR
        T   t   = UnityEditor.AssetDatabase.LoadAssetAtPath <T>(StringUtils.PathCombine(m_ResourcePath, sPath));
        int obj = 0;
        OnAssetLoadCompleted(obj.GetHashCode(), t);
        return(obj.GetHashCode());
#else
        return(0);
#endif
    }
Ejemplo n.º 3
0
 public virtual int LoadAsync(IAssetLoader loader, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted)
 {
     if (Asset == null)
     {
         AssetLoadCompletedEvent += OnAssetLoadCompleted;
         AssetLoadCompletedEvent += (iHandle, @object) => { Asset = @object as T; };
         return(loader.LoadAssetAsync <T>(Path, AssetLoadCompletedEvent));
     }
     else
     {
         OnAssetLoadCompleted(0, Asset);
         return(0);
     }
 }
Ejemplo n.º 4
0
    public int LoadAssetAsync <T>(string sPath, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object
    {
        ResourceRequest req = Resources.LoadAsync <T>(StringUtils.WithoutExtension(sPath));

        req.completed += (ao) => {
            ResourceRequest    resourceRequest = ao as ResourceRequest;
            UnityEngine.Object @object         = null;
            if (resourceRequest != null)
            {
                @object = resourceRequest.asset;
            }
            OnAssetLoadCompleted.Invoke(req.GetHashCode(), @object);
        };
        return(req.GetHashCode());
    }
Ejemplo n.º 5
0
    public int LoadAssetAsync <T>(string sAsset, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object
    {
        if (Bundle != null)
        {
            AssetBundleRequest abReq = Bundle.LoadAssetAsync <T>(AssetName(sAsset));
            abReq.completed += (ao) => {
                AssetBundleRequest assetBundleRequest = ao as AssetBundleRequest;
                if (assetBundleRequest != null)
                {
                    OnAssetLoadCompleted(assetBundleRequest.GetHashCode(), assetBundleRequest.asset);
                }
            };

            return(abReq.GetHashCode());
        }
        return(0);
    }
Ejemplo n.º 6
0
    public int LoadAssetAsync <T>(string sPath, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object
    {
        ResourceRequest req = Resources.LoadAsync <T>(sPath);

        return(0);
    }
Ejemplo n.º 7
0
    public int LoadAssetAsync <T>(string sPath, ResourceMgr.AssetLoadCompleted OnAssetLoadCompleted) where T : UnityEngine.Object
    {
        ABAssetInfo <T> abAssetInfo = AssetCacheMgr.Instance.GetAssetCache <T>(sPath, this) as ABAssetInfo <T>;

        return(abAssetInfo.LoadAsync(this, OnAssetLoadCompleted));
    }