0%

UnityTimeUitll

目的

为了解决代码到处存在倒计时,每次进行计时的时候,都要一向上传递Update方法。还有就是为了解决游戏中定时任务的触发问题

实现

设计了一个计时任务单元Event,来存放所需要触发的回调事件和属性

设计了一个计时管理Timetask来处理任务单元

设计了一个对外的TimeUtil

当然还有一些其他的,这个看源码你就知道了

优化

我选择了限制计时器1秒走一次。来减少Update里函数的执行次数

我选择了让服务器给我一个当前时间戳(一次)作游戏的起始时间。通过Time.realtimeSinceStartup来获取游戏运行时间,来保证了与服务器的时间的一致性。之前我错误的使用了Time.time

功能

你可以在任何需要等待时间处理的事物上,选择使用它,哪怕是UI需要显示的倒计时。

不过它不能在你第一次添加任务回调的时候立即执行你的回调。

源码

GitHub