8 Commits

Author SHA1 Message Date
GeWuYou
a29a484834 refactor(setting): 优化设置模型的并发安全性和性能
- 将字典集合替换为ConcurrentDictionary以提高并发安全性
- 添加方法缓存机制减少反射调用开销
- 实现迁移缓存避免重复查询操作
- 增加异步加载异常处理和日志记录
- 实现IDisposable接口添加资源清理功能
- 优化GetOrAdd方法简化数据获取逻辑
2026-01-27 22:38:49 +08:00
GeWuYou
11c94d462f feat(setting): 添加设置数据版本迁移功能
- 新增 IVersioned 接口用于定义版本信息
- 实现设置数据自动迁移机制,支持版本升级转换
- 添加 SettingsMigration 接口用于处理不同版本间的数据转换
- 在 SettingsModel 中集成迁移功能,加载时自动执行版本迁移
- 优化设置数据管理,新增 AllData 方法获取所有设置数据
- 重构代码结构,添加清晰的方法分组注释块
2026-01-27 22:22:20 +08:00
GeWuYou
07f5d27ab3 refactor(setting): 重构设置系统的接口设计
- 移除 SettingsModel 中的 All() 方法,避免同时实现两个接口的设置被重复返回
- 添加 AllApplicators() 方法用于获取所有可应用设置
- 添加 AllData() 方法用于获取所有设置数据
- 修改 SettingsSystem.ApplyAll() 方法,直接遍历可应用设置而非设置节
- 更新 ISettingsModel 接口定义,将 All() 方法拆分为 AllData() 和 AllApplicators()
- 移除 SettingsSystem 中的 Apply(Type) 和 Apply(IEnumerable<Type>) 重载方法
- 更新 Apply<T>() 泛型约束从 ISettingsSection 改为 IApplyAbleSettings
- 移除注册时对 ISettingsData 的自动注册逻辑,保持职责分离
2026-01-27 22:11:01 +08:00
GeWuYou
19c0830a7d feat(serializer): 添加运行时类型序列化器接口并重构序列化模块
- 新增 IRuntimeTypeSerializer 接口支持运行时类型序列化
- 将序列化器接口从 Game 模块迁移到 Core 模块
- 更新 JsonSerializer 的命名空间引用
- 为 Godot 音频和图形设置类添加持久化应用接口实现
- 重构设置模型的初始化和去重逻辑
- 移除批量加载所有设置的功能
- 优化设置应用过程为异步执行
- 在存储接口中添加异步删除方法
- 为各种存储实现添加异步删除功能
- 为 Godot 文件存储添加标准文件系统路径删除支持
- 删除废弃的设置数据基类实现
2026-01-27 21:58:30 +08:00
GeWuYou
b49079de3e style(coding-style): 统一代码风格并优化文档格式
- 移除多余using语句和空行,统一代码缩进格式
- 优化注释文档中的缩进和对齐格式
- 简化条件语句和方法实现,提升代码可读性
- 重构协程系统相关类的字段和方法定义格式
- 更新架构服务中容器访问方式的实现
- 调整异步操作类的属性和方法组织结构
- [skip ci]
2026-01-27 20:30:04 +08:00
GeWuYou
9ae0f63324 feat(setting): 添加设置事件系统和改进设置模型接口
- 新增 SettingsAllLoadedEvent 事件类,用于表示所有设置加载完成
- 新增 SettingsAppliedEvent 事件类,用于表示设置应用完成状态
- 新增 SettingsApplyingEvent 事件类,用于表示设置正在应用过程
- 新增 SettingsBatchChangedEvent 事件类,用于表示批量设置变更
- 新增 SettingsBatchSavedEvent 事件类,用于表示批量设置保存
- 新增 SettingsChangedEvent 通用设置变更事件类
- 新增 SettingsLoadedEvent 和 SettingsSavedEvent 事件类
- 在 SettingsModel 中添加对 GFramework.Core.extensions 的引用
- 更新 RegisterApplicator 方法支持链式调用并改进注释说明
- 新增 ISettingsChangedEvent 接口定义设置变更事件基础结构
- 修改 ISettingsModel 接口使 RegisterApplicator 方法支持链式调用
- 修改 ISettingsPersistence 接口继承 IContextUtility 接口
2026-01-17 13:16:50 +08:00
GeWuYou
442e8e7088 refactor(setting): 重构设置系统以支持数据和应用器分离
- 将SettingsModel内部存储分离为_dataSettings和_applicators两个字典
- 添加IDataSettings接口用于标识纯数据设置
- 修改Get方法为GetData以明确区分数据获取
- 添加RegisterApplicator和GetApplicator方法管理可应用设置
- 更新TryGet方法支持从数据和应用器中查找设置
- 扩展SettingsPersistence支持批量保存和加载所有设置数据
- 将AudioBusMap重命名为AudioBusMapSettings并实现ISettingsData接口
- 修改Godot音频和图形设置适配新的接口变更
- [skip ci]
2026-01-16 23:44:28 +08:00
GwWuYou
807dbc482e feat(setting): 添加设置管理系统和Godot平台实现
- 实现了SettingsModel用于管理应用程序设置部分
- 创建了SettingsSystem用于应用各种设置配置
- 添加了AudioSettings和GraphicsSettings基础设置类
- 定义了ISettingsModel、ISettingsSystem等核心接口
- 实现了GodotAudioApplier用于应用音频设置到Godot音频系统
- 创建了GodotGraphicsSettings用于管理游戏图形显示设置
- 添加了GodotFileStorage特化文件存储实现
- 实现了Godot路径扩展方法IsUserPath、IsResPath、IsGodotPath
- 添加了AudioBusMap音频总线映射配置类
2026-01-12 21:07:27 +08:00