定时器
定时器服务是应用程序提供的一项后台服务,可以根据用户设定的时间条件,定时执行用户任务。
例如,玩家希望每隔10分钟喝一口水,就可以用定时器来完成。
定时器由时间
和任务
两个要素构成:时间是预设的时间点,任务就是Lua
脚本。
定时器的时间要素分为两类:
单次
是指在启动定时服务后,到达预设时间时,仅运行一次任务。重复
是指在定时服务启用期间,每隔一定时间周期就执行一次任务。
定时器的任务要素,就是要执行的Lua
脚本。
通过定时器配置界面可以配置定时器属性。
定时器组
通过组和项对定时器进行分层配置,便于分类查看和管理。
在应用中每个连接档案(profile
)最多允许255
个定时器组,每个定时器组中最多允许包含255
个定时器项。
在定时器组列表栏点击鼠标右键,从弹出菜单中对定时器组进行增、删、改、查、启用和禁用操作。
弹出菜单中每项操作名称,都在括号里面备注了快捷键,即不用鼠标右键时,只要窗口焦点位于定时器组列表中,按下对应的快捷键即可激活对应操作。
定时器项
选择定时器组后,可以在该组中创建定时器项。在定时器项目列表栏中点击鼠标右键,从弹出菜单中选择增、删、改、查、启用和禁用操作。
弹出菜单中每项操作名称,都在括号里面备注了快捷键,即不用鼠标右键时,只要窗口焦点位于定时器项目列表栏中,按下对应的快捷键即可激活对应操作。
定时器时间属性
通过定时器属性设定面板,可以设置:
类型
单次,执行一次;重复,执行多次。启动延迟
当到达启动时间时,再经过指定的延迟时间才真正执行任务。对于单次任务,在定时器服务启动后立即开始计时,直到满足启动延迟后开始执行任务。对于重复任务,在定时器服务启动后,经过指定的延迟后开始执行第一次任务,之后以重复间隔为周期执行任务。延迟单位为毫秒。重复方式
设定重复任务的执行周期,单位毫秒。当有效时限大于0
时,重复任务从第一次执行后经过的时间不能超过有效时限,当超过了有效时限后,重复任务将不再重复执行。当最大次数大于0
时,重复任务累计执行次数达到最大次数后不再重复执行。当有效时限和最大次数都大于0
时,当满足二者其一(或判断)后重复任务不再执行。
定时器脚本
当定时器到达执行时间,会执行自行编写的Lua
脚本,脚本就是任务。
通过脚本编辑器,编写任务脚本,可以在脚本中声明变量、定义函数等,调用函数等。
在编写脚本过程中,随时可以点击编辑器工具栏中的试运行按钮,在独立的Lua
虚拟机实例中测试脚本执行过程。
保存定时器
点击保存
按钮可以将所有定时器组、定时器项属性和脚本内容都保存到本地磁盘缓存中。
点击保存并重启
按钮,可以保存所有定时器,并将最新的定时器配置加载到定时器服务中。
点击放弃
按钮,可以放弃本次对定时器的修改。
在未点击保存并重启
按钮之前,所有的编辑操作都是隔离的缓存中进行的,不会影响到定时器服务中已加载定时器。
操作定时器服务
点击开启服务
和关闭服务
按钮,可以对定时器服务进行开启和停止操作。
历史版本
从历史版本列表中,可以选择某个历史版本加载到内存中进行查看或编辑,当对某个历史版本进行编辑并保存后,就会成为最新版本。
注意:定时器和触发器的版本是共用的。当在定时器配置界面选择某个历史版本时,也会同时加载对应的触发器版本内容到内存中。