/// <summary> /// 异步加载资源对象 /// <param name="assetName">资源对象名称</param> /// </summary> public AssetOperationHandle LoadAssetAsync <TObject>(string assetName, IAssetParam param) { if (AssetSystem.SystemMode == EAssetSystemMode.ResourcesMode) { throw new System.Exception($"{nameof(EAssetSystemMode.ResourcesMode)} is not support to assign asset name."); } return(LoadInternal(assetName, typeof(TObject), param)); }
public AssetOperationHandle LoadAssetAsync(System.Type type, IAssetParam param) { string assetName = Path.GetFileName(Location); return(LoadInternal(assetName, type, param)); }
/// <summary> /// 异步加载主资源对象 /// </summary> public AssetOperationHandle LoadAssetAsync <TObject>(IAssetParam param) { string assetName = Path.GetFileName(Location); return(LoadInternal(assetName, typeof(TObject), param)); }
private AssetOperationHandle LoadInternal(string assetName, System.Type assetType, IAssetParam param) { if (_cacheLoader == null) { _cacheLoader = AssetSystem.CreateLoader(Location, Variant); } return(_cacheLoader.LoadAssetAsync(assetName, assetType, param)); }
public AssetOperationHandle LoadAssetAsync(System.Type type, string assetName, IAssetParam param) { return(LoadInternal(assetName, type, param)); }
/// <summary> /// 异步加载资源对象 /// <param name="assetName">资源对象名称</param> /// </summary> public AssetOperationHandle LoadAssetAsync <TObject>(string assetName, IAssetParam param) { return(LoadInternal(assetName, typeof(TObject), param)); }
private AssetOperationHandle LoadInternalSync(string location, System.Type assetType, IAssetParam param) { string assetName = Path.GetFileName(location); AssetLoaderBase cacheLoader = AssetSystem.CreateLoader(location); var handle = cacheLoader.LoadAssetAsync(assetName, assetType, param); cacheLoader.ForceSyncLoad(); return(handle); }
/// <summary> /// 加载资源对象 /// </summary> public AssetOperationHandle LoadAssetAsync(string assetName, System.Type assetType, IAssetParam param) { IAssetProvider provider = TryGetProvider(assetName); if (provider == null) { if (assetType == typeof(SceneInstance)) { SceneInstanceParam sceneParam = param as SceneInstanceParam; provider = new AssetSceneProvider(this, assetName, assetType, sceneParam); } else if (assetType == typeof(PackageInstance)) { throw new NotImplementedException(nameof(PackageInstance)); // TODO } else { if (this is AssetBundleFileLoader) { provider = new AssetBundleProvider(this, assetName, assetType); } else if (this is AssetDatabaseFileLoader) { provider = new AssetDatabaseProvider(this, assetName, assetType); } else if (this is AssetResourcesFileLoader) { provider = new AssetResourcesProvider(this, assetName, assetType); } else { throw new NotImplementedException($"{this.GetType()}"); } } _providers.Add(provider); } return(provider.Handle); }