注:版本号为 AI 自己写的,不关我的事,我也不知道为啥它刷版本号为什么这么随意
从 v5.2.0 起版本集中管理于
ChillEnvPlugin.PluginVersion,不再散落在各个文件中。
修复降水窗景关闭后音频与设置开关仍保持开启的问题
持久化自动托管归属,支持跨会话安全清理 Mod 开启的环境音
控制器内部依赖暂未初始化时静默等待,避免启动及切换期间空引用刷屏
增加启动构建标识,便于确认游戏实际加载的 DLL
修复启动时会保留上次退出前的时间与降水,直到主角坐下后才同步的问题
IdleSetup 前即可关闭残留雷雨,并持续校验以防存档加载覆盖修复恶劣天气下每次定时同步都会重复执行 Day → Cloudy 双切换的问题
修复季节性彩蛋启用后,玩家原本手动开启的“樱花”等景色可能被自动化误关的问题
新增配置项:Automation.EnableAmbientSounds = false
SyncPolicy)统一决策
EnableWeatherSync 与 EnableTimeSync 可独立控制,不再互相绑死Cloudy 仅在“时间同步开 + 天气同步开 + 恶劣天气 + 非夜晚”时触发TimeSync.EnableTimeSync = true(默认开启)
ShowWeatherOnDate 与主同步逻辑彻底脱钩
IsInCutscene 反射判定,避免空对象/枚举装箱导致判定失效F7 的问题WeatherUiState 纯逻辑状态机ChillEnvPlugin.PluginVersion 单源配置SceneryAutomationSystem 类(继承 MonoBehaviour),挂载在 Runner 上,这样它有自己的 Update 循环,不干扰原本的天气同步逻辑SceneryRule。这样以后我想加新彩蛋,只需要在列表里加一行配置,不用改核心代码Hook 游戏的点击事件,一旦用户手动点过某个开关,系统就把这个开关拉入“黑名单”,本局游戏不再自动接管。(<---这不是偷懒吗?)ShowWeatherOnDate,用于控制是否在日期后追加显示天气和温度Unity.TextMeshPro.dllF9 会导致所有环境被错误关闭的问题F9 会导致所有环境被错误关闭的问题F7 没反应的问题,加了个输出说是F9 按键逻辑,优化日志提示缓存逻辑是这样的:
- 数据存储:有一个静态变量
_cachedWeather存在内存里。- 有效期:60 分钟 (
TimeSpan.FromMinutes(60)).- 快钟 (30 秒一次):
- 只读缓存。如果缓存里有数据,直接拿来用,不发网络请求(不费流量)。
- 它会利用缓存里的“晴/雨”状态,重新结合“当前每一秒的时间”来判断是否该日落了。
- 注:本来想让 AI 写定时器的,但是 AI 说不如这个,我不懂所以听他的
- 慢钟 (30 分钟一次):
- 强制更新。即使缓存没过期(60 分钟),只要到了用户设定的刷新间隔(默认 30 分钟),就会尝试发起新的 API 请求来刷新数据。
MainIcon 方式详细更新日志请查看 Git 提交记录