首页 > 其他分享 >Unity 协程等待某个条件完成

Unity 协程等待某个条件完成

时间:2023-09-25 10:12:39浏览次数:46  
标签:协程 Debug configJsonUri request configJsonStr WaitUntil Unity 某个 UnityWebRequest

1. 使用 WaitUntil ,如下图所示:

protected virtual IEnumerator UpdateConfig()
    {
        configJsonStr = "";
        using UnityWebRequest request = UnityWebRequest.Get(configJsonUri);
        UnityWebRequestAsyncOperation operation = request.SendWebRequest();
        yield return new WaitUntil(() => { return operation.isDone; });
        try
        {
            switch (request.result)
            {
                case UnityWebRequest.Result.Success:
                    configJsonStr = request.downloadHandler.text;
                    Debug.LogFormat("【获取配置文件】成功:fileUri={0} fileStr=\r\n{1}", configJsonUri, configJsonStr);
                    break;
                case UnityWebRequest.Result.InProgress:
                    break;
                default:
                    Debug.LogErrorFormat("【获取配置文件】失败:fileUri={0} errMsg={1}", configJsonUri, request.error);
                    break;
            }
        }
        catch (Exception ex)
        {
            Debug.LogException(ex);
        }
    }
View Code

 

2. 参考文档
  https://docs.unity.cn/cn/current/ScriptReference/WaitUntil.html

  

 

标签:协程,Debug,configJsonUri,request,configJsonStr,WaitUntil,Unity,某个,UnityWebRequest
From: https://www.cnblogs.com/dhqy/p/17727274.html

相关文章

  • crash —— 如果知道结构体内部某个成员的地址,如何输出结构体内容?
    以下面的task_struct为例:crash>*task_struct-oxffff893e3846e000structtask_struct{[ffff893e3846e000]structthread_infothread_info;[ffff893e3846e010]volatilelongstate;[ffff893e3846e018]void*stack;[ffff893e3846e020]atomic_tusage;[ff......
  • unity 中实现 rts 游戏对士兵的选择和移动
    playerController部分用来处理玩家鼠标对场景内元素交互的逻辑代码如下usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.AI;publicclassPlayerController:MonoBehaviour{//场景中的士兵角色列表publicGa......
  • crash —— 如何获取某个系统调用入口代码?
    通过sys命令可以获取当前系统的系统调用的信息:crash>sys-cNUMSYSTEMCALLFILEANDLINENUMBER0__x64_sys_read../fs/read_write.c:6211__x64_sys_write../fs/read_write.c:6462__x64_sys_open../f......
  • Linux上某个磁盘挂载不上
    想把新创建的 /dev/datavg/data_lv挂载到/mysql目录上 mkfs-txfs-f/dev/datavg/data_lvmount/dev/datavg/data_lv/mysql 但是磁盘挂载不上,也没有任何参数1、可能有人占用这个目录fuser-mv/mysql 查看并没有人占用2、系统记录的信息可能有误查看日志j......
  • (九)Unity性能优化-预制体优化
    原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_Optimization预制体Prefab​Unity中的预制体是用来存储游戏对象、子对象及其所需组件的可重用资源,一般来说预制体资源可充当资源模版,在此模版基础上可以在场景中创建新的预制体实例。使用预制体的......
  • (八)Unity性能优化-场景优化
    场景结构设计原则合理设计场景一级节点的同时,避免场景节点深度太深,一些代码生成的游戏对象如果不需要随父节点进行Transform的,一律放到根节点下。尽量使用Prefab节点构建场景,而不是直接创建的GameObject节点避免DontDestroyOnLoad节点下有太多生命周期过长或引用资源过多......
  • (七)Unity性能优化-资源导入工作流
    原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_Optimization资源导入工作流的三种方案1.手动编写工具优点:根据项目特点自定义安排导入工作流,并且可以和后续资源制作与大包工作流结合缺点:存在开发和维护成本,会让编辑器菜单界面变得复杂,对新人理......
  • (六)Unity性能优化-工程目录与Assets目录设置
    原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_OptimizationUnity工程目录结构及用途Asset文件夹:用来存储和重用的项目资产Library文件夹:用来存储项目内部资产数据信息的目录**Packages文件夹:用来存储项目的包文件信息ProjectSettings文件夹:用......
  • (五)Unity性能优化-Animation导入设置检查与优化
    原链接:https://github.com/lwwhb/Unity2022_SUNTAIL_Stylized_Fantasy_Village_OptimizationRig标签页AnimationTypeNone无动画Legacy旧版动画,不要用Generic通用骨骼框架Humanoid人形骨骼框架选择原则:无动画选择None非人形动画选择Generic人形动画人形动画需要Kinematic......
  • 什么是Rider?Unity搭配Rider
    用Rider编写C#代码让我十分愉悦。我还从未见过这么有用的代码重构工具-从不令人失望。当你依靠它的时候,它真的非常令人惊喜。——JoachimAnte(Unity首席技术官兼创始人)参考1:https://www.jetbrains.com.cn/lp/dotnet-unity/参考2:https://blog.csdn.net/themagickeyjianan/......