public void LoadAssetsAsync <T>(T source, List <AssetInfo> assetInfos, Action <T, List <UnityObject> > handlerAction, AssetLoadOption assetLoadOption = default(AssetLoadOption)) { if (assetInfos != null) { var batch = AssetLoadRequestBatch <T> .Alloc(source, assetInfos.Count(), !assetLoadOption.DontAutoActive); batch.OnLoaded = handlerAction; int count = 0; var singleOption = new AssetLoadOption(true, assetLoadOption.Parent, assetLoadOption.Recyclable, assetLoadOption.PostProcessorFactory, assetLoadOption.ObjectType); foreach (var assetInfo in assetInfos) { var req = AppendAssetRequest(source, assetInfo, null, singleOption); batch.PackRequest(req); count++; } if (count == 0) { AssetLoadRequestBatch <T> .Free(batch); } } }
public override void Dispose() { base.Dispose(); if (_requestBatch != null) { AssetLoadRequestBatch <T> .Free(_requestBatch); _requestBatch = null; } Source = default(T); OnLoaded = null; }
public void LoadAssetsAsync <T>(T source, IEnumerable <AssetInfo> assetInfos, Action <T, IEnumerable <UnityObject> > handlerAction, AssetLoadOption assetLoadOption = default(AssetLoadOption)) { if (assetInfos != null) { var batch = AssetLoadRequestBatch <T> .Alloc(); batch.OnLoaded = handlerAction; int count = 0; foreach (var assetInfo in assetInfos) { var req = AppendAssetRequest(source, assetInfo, null, assetLoadOption); batch.PackRequest(req); count++; } if (count == 0) { AssetLoadRequestBatch <T> .Free(batch); } } }