当前位置: 移动技术网 > IT编程>开发语言>.net > C#开源定时回调库PETimer的使用

C#开源定时回调库PETimer的使用

2019年01月16日  | 移动技术网IT编程  | 我要评论
PETimer PETimer开源项目GitHub地址: "点击跳转" PETimer 1.双端通用:基于C 语言实现的高效便捷计时器,可运行在服务器(.net core/.net framework)以及Unity客户端环境中。 2.功能丰富:PETimer支持帧数定时以及时间定时。定时任务可循环 ...

petimer

petimer开源项目github地址:点击跳转

petimer

1.双端通用:基于c#语言实现的高效便捷计时器,可运行在服务器(.net core/.net framework)以及unity客户端环境中。

2.功能丰富:petimer支持帧数定时以及时间定时。定时任务可循环、可替换、可取消。可使用独立线程计时(自行设定检测间隔),也可以使用外部驱动计时,比如使用monobehaviour中的update()函数来驱动。

3.集成简单:只有一个petimer.cs文件,只需实例化一个petimer类,对接相应的api,便能整合进自己的游戏框架,实现便捷高效的定时回调服务。

技术支持qq:1785275942

使用示意:

1.unity当中使用

//实例化计时类
petimer pt = new petimer();
//时间定时任务
pt.addtimetask(timertask, 500, petimeunit.millisecond, 3);
//帧数定时任务
pt.addframetask(frametask, 100, 3);

int tempid = pt.addtimetask((int tid) => {
    debug.log("定时等待替换......");
}, 1, petimeunit.second, 0);

//定时任务替换
pt.replacetimetask(tempid, (int tid) => {
    debug.log("定时任务替换完成......");
}, 2, petimeunit.second, 0);

//定时任务删除
pt.deletetimetask(tempid);

//定时检测与处理由monobehaviour中的update()函数来驱动
void update() {
    pt.update();
}

2.服务器中使用

第一种用法:运行线程检测并处理任务(类似于在unity中使用)

petimer pt = new petimer();
//必须在while循环中调用pt.update()来驱动计时
while (true) {
    pt.update();
}

第二种用法:独立线程检测并处理任务

//在petimer实例化时,传入检测间隔参数(单位毫秒)
petimer pt = new petimer(100);

关于定时任务的添加、替换、删除与unity当中使用方法一致

3.可设置定时回调处理器

当定时任务的回调处理可通过设置处理handle来覆盖默认的执行处理(一般用于独立线程计时)

pt.sethandle((action<int> cb, int tid) => {
    //覆盖默认的回调处理
    //todo
});

4.日志工具接口

通过setlog(action

pt.setlog((string info) => {
    debug.log("loginfo:" + info);
});

5.其它常用api

//获取本地datetime
public datetime getlocaldate();
//获取年份
public int getyear();
//获取月份
public int getmonth();
//获取天数
public int getday();
//获取星期
public int getweek();
//获取自1970-1-1以来的毫秒总数
public double getmillisecondstime();
//获取当前时间字符串
public string getlocaltimestr();

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网