public override async Task Run() { await base.Run(); var startTime = Time.time; var resourceType = redirector != null ? redirector.RedirectType : typeof(TResource); resourceRequest = await Resources.LoadAsync(Resource.Path, resourceType); Resource.Object = redirector != null ? await redirector.ToSourceAsync <TResource>(resourceRequest.asset) : (TResource)(object)resourceRequest.asset; logAction?.Invoke($"Resource '{Resource.Path}' loaded over {Time.time - startTime:0.###} seconds."); HandleOnCompleted(); }
public override async UniTask RunAsync() { var startTime = Time.time; var resourcePath = string.IsNullOrEmpty(RootPath) ? Path : string.Concat(RootPath, "/", Path); var resourceType = redirector != null ? redirector.RedirectType : typeof(TResource); var asset = await Resources.LoadAsync(resourcePath, resourceType); var assetName = System.IO.Path.GetFileNameWithoutExtension(Path); var obj = redirector is null ? asset as TResource : await redirector.ToSourceAsync <TResource>(asset, assetName); var result = new Resource <TResource>(Path, obj, Provider); SetResult(result); logAction?.Invoke($"Resource '{Path}' loaded over {Time.time - startTime:0.###} seconds."); }
public override async Task RunAsync() { var startTime = Time.time; var resourceType = redirector != null ? redirector.RedirectType : typeof(TResource); var resourceRequest = await Resources.LoadAsync(Path, resourceType); var obj = redirector is null ? resourceRequest.asset as TResource : await redirector.ToSourceAsync <TResource>(resourceRequest.asset); var result = new Resource <TResource>(Path, obj, Provider); SetResult(result); logAction?.Invoke($"Resource '{Path}' loaded over {Time.time - startTime:0.###} seconds."); }