/// Resource异步加载; private IEnumerator <float> LoadAsync(string path, ResourceAssetProxy proxy, Action <float> progress) { if (string.IsNullOrEmpty(path)) { yield break; } ResourceRequest request = Resources.LoadAsync(path); while (request.progress < 0.99f) { progress?.Invoke(request.progress); yield return(Timing.WaitForOneFrame); } while (!request.isDone) { yield return(Timing.WaitForOneFrame); } if (null == request.asset) { LogHelper.PrintError($"[ResourceMgr]LoadAsync load asset:{path} failure."); } //先等一帧; yield return(Timing.WaitForOneFrame); if (proxy != null) { proxy.OnFinish(request.asset); } else { LogHelper.PrintError($"[ResourceMgr]LoadAsync proxy is null:{path}."); } }
/// <summary> /// Resource同步加载; /// </summary> /// <param name="path"></param> /// <returns></returns> public ResourceAssetProxy LoadResourceProxy(string path) { if (string.IsNullOrEmpty(path)) { return(null); } ResourceAssetProxy proxy = PoolMgr.singleton.GetCsharpObject <ResourceAssetProxy>(); proxy.Initialize(path); Object asset = Resources.Load(path); if (asset == null) { LogHelper.PrintError($"[ResourceMgr]LoadResourceProxy load asset:{path} failure."); } proxy.OnFinish(asset); return(proxy); }