一个简单的时间限制器,指定起始时间、结束时间,超出结束时间时,会触发你设定好的事件,可以达到限制软件使用时间的作用
A simple time limiter that specifies a start time and an end time. Once the end time is exceeded, it will trigger an event you have set up, which can be used to limit the usage time of the software.
点击收起/展开
1. 导入package后给场景任意物体绑定TimeLimiter组件,如图所示
2. 右键组件右上角,点击初始化,如图所示
3. 此时Console面板会提示:“过期时间填写无效,请手动修改成正确的值,然后再执行初始化”,之后,可根据TimeLimiterData中的InitializeTime的时间格式,填写OutdateTime(过期时间)如图所示
4. 完成填写后,再次点击初始化,此时若出现下图提示,且remainTime(剩余时间)被自动填充,则说明成功
5. CheckRate(检查过期频率)的单位是秒,用于决定每隔多少秒执行一次检查过期的判定(Start时会检查一次),如无必要,不需要修改
后续剩余时间的更新方法:由于Streaming Assets中的时间缓存文件的优先级是最高的, 所以只要重新在Unity中修改好新的时间,并初始化一次,再把Streaming Assets的文件提供给客户替换,即可达到更新时间设置的效果
注1: 过期事件的绑定、密钥的设定,在上图中Inspector面板上说明的很清楚了,这里不再赘述
注2: PlayerPrefs(PC端为注册表)内容的查看,如下图所示:
其中的 RegisterKey 就是时间缓存数据,可自行检验删除注册表,测试功能是否正常等
点击收起/展开
1. 点击仓库上方的版本发布,可下载所有关联资源及TimeLimiter组件UnityPackage,如下图所示
Newtonsoft.Json.dll:用于Json解析,根据现有环境选择性下载
Obfuscator Pro(代码混淆插件):理论上Unity代码、场景信息都是可以被解包反编译查看的,如果一定要万无一失的话可以考虑使用此类型的插件补全漏洞
点击收起/展开
1. 分离主工具打包,仓库初始化
2. 更正部分注释内容
3. Markdown内容编写
4. 调整一处代码判定,解决C#6.0以前版本无法兼容的问题
5. 修正多种未考虑周全的情况下,时间缓存未正常保存的问题







