本文共 2019 字,大约阅读时间需要 6 分钟。
/**************************************************** 文件:TimeTask.cs 作者:唐孝辉 邮箱: 1351105506@qq.com 日期:#CreateTime# 功能:任务类*****************************************************/using System;////// 时间类型/// public enum TimeUnit{ MilliSecond, //毫秒 Second, //秒 Minute, //分钟 Hour,//小时 Day,//天}public class TimeTask{ public Action callBack; public float destTime;//要达到的时间点 public int count;//循环的次数 public float delay;//下一次循环延迟的时间 public TimeUnit timeUnit; public TimeTask(Action callBack, float destTime,int count,float delay,TimeUnit timeUnit) { this.callBack = callBack; this.destTime = destTime; this.count = count; this.delay = delay; this.timeUnit = timeUnit; }}
/**************************************************** 文件:TimeSys.cs 作者:唐孝辉 邮箱: 1351105506@qq.com 日期:#CreateTime# 功能:定时系统*****************************************************/using System;using System.Collections.Generic;using UnityEngine;public class TimerSys : MonoBehaviour{ private ListcacheTaskList=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 作者:唐孝辉 邮箱: 1351105506@qq.com 日期:#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,5,500,TimeUnit.MilliSecond); } }
转载地址:http://njrxo.baihongyu.com/