栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity延迟几秒执行一个方法小工具

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity延迟几秒执行一个方法小工具

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Collections.Generic;
/// 
/// 我的小工具
/// 
public class MyTools : MonoBehaviour
{
    public static MyTools Instance;

    private void Awake()
    {
        Instance = this;
    }

    /// 
    /// 延时几秒执行某个方法
    /// 
    /// 调用内容
    /// 等待时间
    public void Delay(CustomVoid pDelegate, float time)
    {

        StartCoroutine(TimeWait(pDelegate, time));
    }

    public IEnumerator TimeWait(CustomVoid pDelegate, float time)
    {
        yield return new WaitForSeconds(time);

        pDelegate.Invoke();
    }
    public delegate void CustomVoid();
}

例子:

 bool isOpen;
    void Update()
    {

        // 表示当isOpen为True的时候 将其设置为false  然后3秒之后isOpen重新设置为True
        if (isOpen)
        {
            isOpen = false;

            MyTools.Instance.Delay(() => { isOpen = true; }, 3);
        }

    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901427.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号