Skip to content

Latest commit

 

History

History

AwaitExtension

AwaitableExtension

对UnityGameFramework 的await扩展 使ugf 中各个组件 支持await/async 语法

使用教程

  1. 注册各组件需要的事件

    UGF中各种加载 显示都是通过事件通知的。 修改成await/async 也是基于此 。所以需要调用

    AwaitableExtensionSubscribeEvent 函数来注册事件。 需要在框架的启动流程中调用。

    在启动流程中注册 的目的 也是为了防止调用框架重启 导致事件失效问题。

  2. 通过UGF组件直接使用即可。 所有方法均使用扩展方法对UGF组件进行扩展

    例如:打开一个界面

    await GameEntry.UI.OpenUIFormAsync(UIFormId.Test);

    所有扩展 async 方法也支持嵌套 和 Task.WhenAll 等。

特殊说明

​ 因为使用 web和download 组件时可能无论成功失败都需要返回 所以封装了 WebResultDownLoadResult 用于查看请求是否成功 或返回数据。

​ 例如:

  1. WebRequest

    WebResult result = await GameEntry.WebRequest.AddWebRequestAsync("url");
    Debug.Log(result.IsError);
    if (!result.IsError)
    {
        Debug.Log(result.Bytes);
    }
  2. DownLoad

    DownLoadResult result = await GameEntry.Download.AddDownloadAsync("", "");
    Debug.Log(result.IsError);
    if(result.IsError){
        DoSomething();
    }