0.2.34
Toastsystem addedPersistencesetting, allowing it to remain visible without automatically disappearing over time- Added
MainMenuReadyEventlifecycle event, allowing unified registration and reuse of the main menu initialization time point for specific behavior logic - Added
Telemetrysystem, allowing data collection and reporting under user authorization, and allowing other mods to reuse the system to collect and report data to their own endpoints- RitsuLib will now register requests for the following data:
- Basic usage data (including game version, running platform, RitsuLib version, anonymous player ID)
- Mod installation list data (removed path information to maintain privacy)
- Error log data (including error type, error stack, game version)
- When a mod requests telemetry data, a toast will be displayed to prompt the user to authorize. Only after the user authorizes will the data be allowed to be uploaded through the dispatcher.
- Built-in support for data includes the
RunHistoryrecord after the game ends, which can be requested by developers who want to analyze and balance the game data- RitsuLib itself does not request and report related data
- The backend protocol is available at
schemas\telemetry\v1\openapi.yaml, which follows the OpenAPI 3.1 specification and can be used directly by tools to automatically generate server code- You can also refer to the
schemas\telemetry\v1\telemetry-batch.schema.jsonandschemas\telemetry\v1\telemetry-event.schema.jsonfiles to verify the data format
- You can also refer to the
- RitsuLib will now register requests for the following data:
- Marked string usage of
CardKeywordandCardTagas obsolete, indicating that they are now available to be converted to enum types to call through vanilla methods - Added missing FMOD support
- Modified the implementation of
HookedSingletonModel, changed to use a singleHookTypeparameter to construct the instance, avoiding the issue of some hooks being triggered multiple times - Added
ModelCloneRegistrysystem, allowing to listen to model clone operations and execute custom logic - Modified the implementation of
CardHandOutline, now using a unified new wrapper as the main logic, and migrating the original registration API to the new wrapper
Toast系统增加了Persistence设置,允许使其保持可见而不会随时间自动消失- 修改增加了
MainMenuReadyEvent生命周期事件,便于统一注册复用主菜单的初始化时间点进行一些特定行为逻辑 - 增加了
Telemetry系统,允许在用户授权的前提下进行数据收集和上报,并允许其他模组复用该系统进行数据收集和上报到自己的端点- RitsuLib 现在会注册请求以下数据:
- 基础使用数据(包括游戏版本,运行的平台,RitsuLib 版本,匿名玩家 ID)
- Mod 安装列表数据(去除了路径等信息以保持脱敏性)
- 错误日志数据(包括错误类型,错误堆栈,游戏版本)
- 当模组申请获取遥测数据时,会弹出 Toast 提示用户授权。仅当用户授权后才会允许通过调度器上传数据。
- 内置支持的数据还包括对局结束后的
RunHistory记录,对于希望统计分析对局数据的开发者可以请求相关数据用于分析和平衡调整- RitsuLib 自身并不请求和上报相关数据
- 后端协议请参考
schemas\telemetry\v1\openapi.yaml文件,此文件遵循 OpenAPI 3.1 规范,可以直接用于工具自动生成服务端代码- 你也可以参考
schemas\telemetry\v1\telemetry-batch.schema.json和schemas\telemetry\v1\telemetry-event.schema.json文件来校验数据格式
- 你也可以参考
- RitsuLib 现在会注册请求以下数据:
- 给 string 类型的
CardKeyword和CardTag使用方式标注了过时,以提示已经可转换为枚举类型以通过原版方法调用 - 补充了部分缺失的 FMOD 支持
- 修改了
HookedSingletonModel的实现,改为使用单一的HookType参数构造实例,避免部分 Hook 可能会多次触发的问题- 旧的构造函数已标记为过时,请使用新的构造函数代替
- 增加了
ModelCloneRegistry系统,允许监听模型复制操作并执行自定义逻辑 - 修改了
CardHandOutline的实现,现在使用统一的新包装作为主要逻辑,并将原有注册 API 迁移到新的包装中
Full Changelog: v0.2.33...v0.2.34