自定义协程模块

IFramework所有模块总目录

简介

协程在unity中很常见,IF中也有自己的协程。其本质就是通过:yield return语句快捷 创建“枚举器”,并对“枚举器”进行迭代,对迭代的值 进行计时。

自定义协程简单实用

代码如下:

using System.Collections;
using UnityEngine;
using IFramework;
using IFramework.Moudles.Coroutine;

public class TestIEnumerator : MonoBehaviour
{
    IEnumerator wait()
    {
        yield return new IFramework.Moudles.Coroutine.WaitForSeconds(3);
    }
    IEnumerator wait1()
    {
        Log.L("wait1 Go");
        yield return wait();
        Log.L("wait1 end");
    }
    IEnumerator wait2()
    {
        Log.L("wait2 Go");
        yield return wait1();
        Log.L("wait2 end");
        Log.L("wait2 Go");
        yield return wait();
        Log.L("wait2 end");
    }

    void Start()
    {

        Framework.Init();                           //初始化Framework 初始化 Coroutine 
        Framework.moudles.Coroutine = Framework.moudles.CreateMoudle<CoroutineMoudle>();
        Framework.moudles.Coroutine.StartCoroutine(wait2());
        //下面写法相同
        // CoroutineMoudle Corou = Framework.moudles.CreateMoudle<CoroutineMoudle>();
        // Corou.StartCoroutine(wait2());
    }
    void Update()
    {
        //Framework. 的生命周期 函数,写到 Mono的生命周期 。 
        Framework.Update();
    }
    private void OnDestroy()
    {
        //Framework. 的生命周期 函数,写到 Mono的生命周期 。
        Framework.Dispose();
    }
}

运行结果:


image.png

结尾

以上内容是 作者个人的理解,如有错误,欢迎指出。
顺便给出OnClick大佬自己 写的文档地址:008 自定义协程
如果对 IF框架有其他看法,也欢迎大家 进群交流。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这个降低入门门槛的大环境下,Unity 因为考虑到降低门槛,设计之初就是一个单线程,不允许在另外的线程中进行渲染...
    耳朵里有只风阅读 8,357评论 0 5
  • Coroutine in Python 引言: 本文出自David Beazley 的关于协程的PPT,现在笔者将...
    LumiaXu阅读 1,640评论 4 8
  • 一、总体内容 1.1、协程的介绍 1.2、迭代器以及迭代器的应用 1.3、生成器(生成器与迭代器保存的都是生成数据...
    IIronMan阅读 874评论 0 1
  • 2016年7月24日 星期六 阴 今天中午,我的妹妹来了。但是她非常调皮捣蛋,我很没有办法,但她也非常有趣...
    CEO谢阅读 184评论 0 0
  • 1.计划: 不论在工作还是生活中,有计划的人都要比没有计划的人更省脑力和不容易犯错。 计划的类型分...
    启航_FLY阅读 319评论 0 0