博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
03定时回调增加任务删除功能
阅读量:6676 次
发布时间:2019-06-25

本文共 2793 字,大约阅读时间需要 9 分钟。

/****************************************************    文件:TimeTask.cs	作者:唐孝辉    邮箱: 1351105506@qq.com    日期:#CreateTime#	功能:任务类*****************************************************/using System;/// /// 时间类型/// public enum TimeUnit{    MilliSecond, //毫秒    Second, //秒    Minute, //分钟    Hour,//小时    Day,//天}public class TimeTask{    public int taskID;    public Action callBack;    public float destTime;//要达到的时间点    public int count;//循环的次数    public float delay;//下一次循环延迟的时间    public TimeUnit timeUnit;    public TimeTask(int taskId,Action callBack, float destTime,int count,float delay,TimeUnit timeUnit)    {        this.taskID = taskId;        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 System.Threading;using UnityEngine;public class TimerSys : MonoBehaviour{    private List
cacheTaskList=new List
(); //缓存 private List
taskList=new List
(); private int taskid = 0; private static readonly string obj = "22"; private List
idList=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
= int.MaxValue) { taskid = 0; } bool idIsUse = false; for (int i = 0; i < idList.Count; i++) { if (idList[i] == taskid) { idIsUse = true; break; } } if (!idIsUse) { break; } else { taskid += 1; } } } return taskid; } //删除任务 public bool DeleteTimeTask(int taskID) { bool idIsExist = false; for (int i = 0; i < taskList.Count; i++) { if (taskList[i].taskID==taskID) { //移除任务和id taskList.RemoveAt(i); for (int j = 0; j
/****************************************************    文件:GameRoot.cs	作者:唐孝辉    邮箱: 1351105506@qq.com    日期:#CreateTime#	功能:GameRoot*****************************************************/using System.Collections.Generic;using UnityEngine;public class GameRoot : MonoBehaviour{    private TimerSys timerSys;    private int taskId;    void Start()     {        timerSys = this.GetComponent
(); } //开始任务 public void ClickTaskBtn() { taskId = timerSys.AddTimeTask(()=>{Debug.Log("TestA"); },2000,5,500,TimeUnit.MilliSecond); } //删除任务 public void ClickDeleteTaskBtn() { bool success=timerSys.DeleteTimeTask(taskId); Debug.Log("移除id"+taskId+":"+success); }}

在这里插入图片描述

转载地址:http://ijrxo.baihongyu.com/

你可能感兴趣的文章
SQL-11 获取所有员工当前的manager,如果当前的manager是自己的话结果不显示
查看>>
×××S 2012 仪表 -- 刻度(Scale)
查看>>
Windows脚本初探之WScript与CScript的区别
查看>>
TextBox 自动填充功能
查看>>
解决“您尝试打开的文件*.xls的格式与文件扩展名指定的格式不一致“
查看>>
有一个长度是101的数组,存在1~100的数字,有一个是重复的,找出重复出来
查看>>
Sendmail在企业网中的应用
查看>>
tar.gz安装
查看>>
Centos6.5 glibc 升级
查看>>
排序——C++函数调用
查看>>
Pandownload关了,还有更牛逼的百度网盘全速下载方法
查看>>
【转】C++文件流の添加数字到指定文件中
查看>>
在网络设备上暂挂会话
查看>>
SQL中访问远程数据库(MSSQL)
查看>>
Django学习
查看>>
python excel操作
查看>>
11.static关键字
查看>>
我的友情链接
查看>>
孙杨赢在“天才+努力+机遇”
查看>>
OC @property 指示符assign、atomic、copy、retain、strong、week、等
查看>>