| New file |
| | |
| | | h5适配版本已经正式合并到主线,以下是后续编码相关的注意事项: |
| | | |
| | | |
| | | 1.关于资源的加载 |
| | | - 目前资源加载的逻辑已经改为基于YooAsset的,之前的AssetBundle相关代码已经删除。请确保在加载资源时使用新的YooAsset接口。 |
| | | 由于H5不支持同步加载资源,故全部改成异步加载,相关接口已经改为Async版本,例如UIManager.Instance.OpenWindowAsync<xxx>().Forget(),ResManager.Instance.LoadAssetAsync<xxx>().Forget()等 |
| | | |
| | | 2.由异步加载引申出来的C#关键字 |
| | | - await跟async 例子很多很简单可以简单了解一下用法 |
| | | - 有一些界面加载完之后还要进行操作 一定要记得await等待界面加载结束之后 或者 把.Forget换成 .ContinueWith()来继续后续操作 |
| | | - 例如:UIManager.Instance.OpenWindowAsync<LaunchWin>().ContinueWith(() => { |
| | | // 界面加载完成后的操作 |
| | | }); |
| | | 其他资源也是同理 |
| | | |
| | | - Forget是UniTask提供的一个扩展方法,用于在调用异步方法时忽略返回的UniTask对象,适用于不需要等待结果或处理异常的情况。使用Forget可以避免编译器警告未使用的返回值,但要注意如果异步方法抛出异常,可能会导致未捕获的异常。 |
| | | |
| | | - ContinueWith是UniTask提供的一个方法,用于在一个异步操作完成后继续执行另一个操作。它接受一个回调函数作为参数,当前一个异步操作完成时,回调函数会被调用。ContinueWith可以用于链式调用多个异步操作,确保它们按顺序执行。回调的参数 会是UniTask<Type>里的Type实例 |
| | | 例如 |
| | | |
| | | UniTask<int> GetInt() |
| | | { |
| | | await UniTask.Delay(1000); // 模拟异步操作 |
| | | return 1; |
| | | } |
| | | |
| | | GetInt().ContinueWith((int result) => |
| | | { |
| | | Debug.Log($"Result: {result}"); // 输出结果 |
| | | }); |