Unity Bolt使用协程等待

使用Unity bolt插件可以进行一些简单逻辑开发。本质上相当于把C#接口以图形化的方式进行调用。但是怎么使用协程进行等待呢。经过一些研究,可以使用继承WaitUnit的组件方式进行扩展。下面是具体的操作步骤。

1:等待组件扩展。

经过查找,Bolt已经对WaitForSeconds,WaitUnitl进行封装。查看相关代码,我对WaitUnity进行迭代器扩展,下面是相关代码:

using Bolt;
using Ludiq;
using System.Collections;
[UnitTitle("WaitForCoroutine")]
[UnitShortTitle("WaitCoroutine")]
[UnitOrder(1)]
public class WaitForCoroutine : WaitUnit
{
    [DoNotSerialize]
    [PortLabel("routine")]
    public ValueInput routine { get; private set; }

    protected override void Definition()
    {
        base.Definition();
        routine = ValueInput("routine", default(IEnumerator));
        Requirement(routine, base.enter);
    }
    protected override IEnumerator Await(Flow flow)
    {
        yield return flow.GetValue<IEnumerator>(routine);
        yield return base.exit;
    }
}

2:然后先写一个简单的协程进行测试:

    public IEnumerator DoMove(Vector3 endPos)
    {
        while(Vector3.Distance(transform.position,endPos)>0.1f)
        {
            yield return null;
            transform.position = Vector3.Lerp(transform.position, endPos, 0.1f);
        }

        Debug.LogError("Finished");
    }

3:最后附上Bolt的使用流程图

 

最后愿对使用Bolt插件的小伙伴有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值