01定时回调

/****************************************************
    文件:TimeTask.cs
	作者:唐孝辉    邮箱: [email protected]
    日期:#CreateTime#
	功能:任务类
*****************************************************/

using System;


/// 
/// 时间类型
/// 
public enum TimeUnit
{
    MilliSecond, //毫秒
    Second, //秒
    Minute, //分钟
    Hour,//小时
    Day,//天
}

public class TimeTask
{
    public Action callBack;
    public float destTime;//要达到的时间点

    public TimeTask(Action callBack, float destTime,TimeUnit timeUnit)
    {
        this.callBack = callBack;
        this.destTime = destTime;
    }
}

/****************************************************
    文件:TimeSys.cs
	作者:唐孝辉    邮箱: [email protected]
    日期:#CreateTime#
	功能:定时系统
*****************************************************/

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

public class TimerSys : MonoBehaviour
{

    private List cacheTaskList=new List(); //缓存
    private List taskList=new List();


    void Update()
    {
        foreach (TimeTask task in cacheTaskList)
        {
            taskList.Add(task);
        }
        cacheTaskList.Clear();

  
        for (int i = 0; i < taskList.Count; i++)
        {
            TimeTask timeTask = taskList[i];
            //判断是否足条件
            if (Time.realtimeSinceStartup*1000
/****************************************************
    文件:GameRoot.cs
	作者:唐孝辉    邮箱: [email protected]
    日期:#CreateTime#
	功能:GameRoot
*****************************************************/

using System.Collections.Generic;
using UnityEngine;

public class GameRoot : MonoBehaviour
{
    private TimerSys timerSys;
    void Start()
     {
        timerSys = this.GetComponent();
    }


    //开始任务
    public void ClickTaskBtn()
    {
        timerSys.AddTimeTask(()=>{Debug.Log("TestA"); },2000);
    }
    
}

01定时回调_第1张图片

你可能感兴趣的:(unity)