AssetBundleFramework.AssetLoader.LoadResource C# (CSharp) Method

LoadResource() private method

加载AssetBundle包中的指定名称的资源的泛型实现
private LoadResource ( string assetName, bool isCache = false ) : T
assetName string 加载的资源名称
isCache bool 缓存处理
return T
        private T LoadResource<T>(string assetName, bool isCache = false) where T : Object {
            if (_cachedAsset.Contains(assetName)) { // 缓存中存储了要加载的资源
                return _cachedAsset[assetName] as T; //返回缓存中的内容
            }

            T loadedAsset = _currentAssetBundle.LoadAsset<T>(assetName); // 资源未缓存,进行资源加载
            if (loadedAsset != null && isCache) { // 判断是否需要将加载的资源加入缓存集合
                _cachedAsset.Add(assetName, loadedAsset); // 资源需要被缓存
            }
            else if (loadedAsset == null) { // 资源加载失败
                Debug.LogError(
                    $"{GetType()}/LoadResource<T>方法根据参数assetName={assetName}" +
                    $"无法在AssetBundle:{_currentAssetBundle}中加载相关资源");
            }

            return loadedAsset;
        }