Unity封装延时调用定时器

 更新时间:2020年04月18日 08:45:33   作者:林新发  
这篇文章主要为大家详细介绍了Unity封装延时调用定时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Unity封装延时调用定时器的具体代码,供大家参考,具体内容如下

封装一个延时调用定时器类

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;

public class WaitTimeManager 
{
 private static TaskBehaviour m_Task;
 static WaitTimeManager()
 {
 GameObject go = new GameObject("#WaitTimeManager#");
 GameObject.DontDestroyOnLoad(go);
 m_Task = go.AddComponent<TaskBehaviour> ();
 }

 //等待
 static public Coroutine WaitTime(float time,UnityAction callback)
 {
 return m_Task.StartCoroutine(Coroutine(time,callback));
 }
 
 //取消等待
 static public void CancelWait(ref Coroutine coroutine)
 {
 if (coroutine != null) {
 m_Task.StopCoroutine(coroutine);
 coroutine = null;
 }
 }

 static IEnumerator Coroutine(float time, UnityAction callback) {
 yield return new WaitForSeconds (time);
 if (callback != null) {
 callback();
 }
 }
 
 //内部类
 class TaskBehaviour : MonoBehaviour { }
}

测试

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Script_04_15 : MonoBehaviour {

 void Start () {
 //开启定时器
 Coroutine coroutine = WaitTimeManager.WaitTime(5f, delegate {
 Debug.LogFormat("等待5秒后回调");
 });

 //等待过程中取消它
 //WaitTimeManager.CancelWait (ref coroutine);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解C# 枚举高级用法之Description

    详解C# 枚举高级用法之Description

    这篇文章主要介绍了C# 枚举高级用法之Description,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • C#制作二维柱状图方法

    C#制作二维柱状图方法

    在本文里小编为各位分享的是关于C#制作二维柱状图方法和步骤,需要的读者们学习下。
    2018-12-12
  • Unity实现首字母检索器

    Unity实现首字母检索器

    这篇文章主要为大家详细介绍了Unity实现首字母检索器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Unity3D实现相机跟随控制

    Unity3D实现相机跟随控制

    这篇文章主要为大家详细介绍了Unity3D实现相机跟随控制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • C#文件路径操作详细总结

    C#文件路径操作详细总结

    本篇文章主要是对C#中的文件路径操作进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • 在C#中发送自定义HTML格式邮件的示例详解

    在C#中发送自定义HTML格式邮件的示例详解

    在C#中发送自定义HTML格式邮件是一项常见的任务,这在开发电子邮件营销系统或任何需要通过电子邮件与用户沟通的应用程序中都非常重要,以下是如何在C#中发送自定义HTML格式邮件的详解与示例,需要的朋友可以参考下
    2024-07-07
  • 解决winform界面刷新闪烁问题的多种方案

    解决winform界面刷新闪烁问题的多种方案

    这篇文章给大家介绍了如何解决winform界面刷新闪烁问题的多种方案,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • c++指针使用形参改变实参的方法

    c++指针使用形参改变实参的方法

    下面小编就为大家带来一篇c++指针使用形参改变实参的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • C#多线程之Parallel类的用法

    C#多线程之Parallel类的用法

    这篇文章介绍了C#多线程之Parallel类的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 深入解析C#中的交错数组与隐式类型的数组

    深入解析C#中的交错数组与隐式类型的数组

    这篇文章主要介绍了深入解析C#中的交错数组与隐式类型的数组,隐式类型的数组通常与匿名类型以及对象初始值设定项和集合初始值设定项一起使用,需要的朋友可以参考下
    2016-01-01

最新评论