任务调度器¶
在开发过程中,常常会遇到需要执行定时任务的情况。为了满足这种需求,框架特别设计了一个任务调度器,用于高效地管理和执行这些定时任务。这个调度器不仅能够简化定时任务的配置与执行过程,还可以灵活地设置任务的触发条件和时间间隔,从而提高开发效率,确保任务的准确性和可靠性。
需要使用当前场景(Scene)中的 TimerComponent 组件:
- Unity:支持Unity的时间缩放的时间任务调度。(只有Unity平台下有)
- Net:根据系统事件的任务调度。
WaitAsync¶
在当前代码中,可以通过设置延时来等待一段时间后再继续执行后续逻辑,从而确保依赖的资源准备就绪或前置条件满足。
- time参数:毫秒单位
WaitTillAsync¶
在当前代码中,可以通过设置延时来等待一段时间后再继续执行后续逻辑,从而确保依赖的资源准备就绪或前置条件满足。
- time参数:绝对时间,毫秒单位
WaitTillAsync
WaitFrameAsync¶
在当前代码中,等待一帧的时间。
OnceTimer¶
设置一个定时任务,指定在未来的某个特定时间自动执行。
Action¶
传递一个Action在未来的某个时间执行。
- time参数:毫秒单位
- action:时间到执行的回调。
- 返回参数:返回一个时间任务的Id,可以通过这个Id取消这个任务。
OnceTimer Action
Event¶
Action 已经能够满足大部分需求,但在某些情况下,可能会遇到热重载的问题。由于 Action 在热重载时无法替换为新的 Action,因此需要采用 Event 的方式。在热重载过程中,新的 Event 会覆盖旧的,从而确保系统正常更新。
- time参数:毫秒单位
- Event参数:传入一个事件参数,如果不知道怎么定义可以参考事件系统。
- 返回参数:返回一个时间任务的Id,可以通过这个Id取消这个任务。
这样定义完成后,只需要订阅TestEvent事件就可以了。
OnceTillTimer¶
这个方法同OnceTimer一样,唯一不同的是time参数的时间是绝对时间。
OnceTillTimer
RepeatedTimer¶
执行一个任务,该任务会按照指定的时间间隔反复运行,直到明确取消为止。
Action¶
传递一个Action在未来的某个时间执行。
- time参数:毫秒单位
- action:时间到执行的回调。
- 返回参数:返回一个时间任务的Id,可以通过这个Id取消这个任务。
OnceTimer Event
Event¶
Action 已经能够满足大部分需求,但在某些情况下,可能会遇到热重载的问题。由于 Action 在热重载时无法替换为新的 Action,因此需要采用 Event 的方式。在热重载过程中,新的 Event 会覆盖旧的,从而确保系统正常更新。
- time参数:毫秒单位
- Event参数:传入一个事件参数,如果不知道怎么定义可以参考事件系统。
- 返回参数:返回一个时间任务的Id,可以通过这个Id取消这个任务。
Remove¶
根据任务Id,取消一个任务。
- timerId:要取消的任务Id。