GeWuYou
e738e59a58
feat(events): 添加增强事件总线支持过滤器和统计功能
...
- 实现 EnhancedEventBus 支持过滤器、弱引用事件和统计功能
- 添加 FilterableEvent 和 WeakEvent 支持事件过滤和弱引用订阅
- 实现 PredicateEventFilter 和 SamplingEventFilter 事件过滤器
- 添加 EventStatistics 统计事件发布、处理和失败次数
- 实现完整的单元测试验证过滤器和统计功能
2026-03-06 16:09:40 +08:00
GeWuYou
f984f4a600
refactor(core): 优化核心组件的线程安全性和错误处理
...
- 重构 AsyncLogAppender 的 Flush 方法,添加超时控制和 SpinWait 优化
- 为 BindableProperty 添加线程安全锁保护,确保并发访问的安全性
- 在 BindableProperty 中实现回调外部调用以避免死锁问题
- 为 EasyEvents 使用 ConcurrentDictionary 替代 Dictionary 提高并发性能
- 添加协程调度器异常处理回调机制,防止异常传播导致调度器崩溃
- 为 FileAppender 添加初始化异常处理和资源清理逻辑
- 补充完整的单元测试覆盖并发场景下的线程安全性验证
2026-03-04 11:04:59 +08:00
GeWuYou
1df4e78cdc
style(tests): 统一事件测试中的lambda表达式格式
...
- 在EasyEvent_UnRegister_Should_Remove_Handler方法中将lambda表达式改为块状格式
- 在OrEventTests测试中将lambda表达式改为块状格式
- 保持代码风格一致性,所有lambda表达式都使用大括号包围
2026-03-02 22:01:22 +08:00
deepsource-autofix[bot]
a30abdb4c3
refactor: simplify lambda expressions
...
This PR refactors numerous lambda expressions by removing unnecessary braces and streamlining single-statement lambdas throughout the codebase, improving readability and maintainability.
- Consider simplifying lambda when its body has a single statement: DeepSource flagged lambdas written with a block body for only one statement, causing extra verbosity. This update converts those to concise expression-bodied lambdas by stripping out the curly braces, applied across test assertions, event registrations, and unregister logic. The code is now cleaner and more consistent.
> This Autofix was generated by AI. Please review the change before merging.
2026-03-02 22:01:22 +08:00
GeWuYou
eec50ab45b
feat(events): 添加事件上下文支持和线程安全改进
...
- 在EventBus中添加RegisterWithContext方法支持事件上下文
- 实现EventContext<T>类包装事件数据并提供处理控制
- 在PriorityEvent中添加上下文事件处理器和相关管理逻辑
- 改进事件触发机制支持普通和上下文处理器混合使用
- 优化MicrosoftDiContainer的线程安全性和并发访问
- 修复SpanExtensions中TryParseValue的返回值类型问题
- 添加全面的单元测试覆盖新功能和边界情况
2026-02-25 21:39:53 +08:00
GeWuYou
e2dca4f5a6
feat(events): 添加事件优先级和传播控制功能
...
- 实现了事件优先级机制,支持按优先级顺序执行事件处理器
- 新增EventPropagation枚举,支持All、UntilHandled和Highest三种传播模式
- 添加Register方法的重载版本,支持指定事件处理器优先级
- 实现Send方法的重载版本,支持指定事件传播模式
- 新增PriorityEvent类处理带优先级的事件逻辑
- 添加IocContainer的CreateScope方法支持服务作用域管理
- 实现RegisterTransient和RegisterScoped方法完善依赖注入生命周期
- 新增SpanExtensions扩展方法提供高性能的span操作功能
- 添加全面的单元测试覆盖事件优先级、IoC容器生命周期和span扩展功能
2026-02-25 21:39:53 +08:00
GeWuYou
af583c101c
refactor(core): 重构协程扩展和函数式编程相关代码
...
- 优化 CommandCoroutineExtensions 中的代码格式和异常处理逻辑
- 简化 WaitForEvent 和 WaitForEventWithTimeout 中的EventData属性实现
- 调整 EventListenerScope 中的EventData属性访问器
- 重构 ControlExtensions 中 TakeIf 和 TakeUnless 方法的实现
- 优化 FunctionExtensions 中 Repeat 和 Partial 方法的代码结构
- 调整 PipeExtensions 和其他扩展类的文档注释格式
- 修改测试代码中的协程迭代和事件注册相关实现
- 优化 DataRepository 中的异步操作实现方式
= [release ci]
2026-02-01 14:07:59 +08:00
GeWuYou
ec8f72932b
test(coroutine): 添加协程相关功能的单元测试
...
- 添加 CommandCoroutineExtensions 的完整测试用例
- 添加 QueryCoroutineExtensions 的完整测试用例
- 添加 WaitForEvent 的完整测试用例
- 添加 WaitForEventWithTimeout 的完整测试用例
- 添加 Moq 依赖包用于模拟测试
- 实现多种协程指令和扩展方法的功能验证
- 包含超时处理、异常处理和事件触发等场景测试
- [release ci]
2026-02-01 11:04:50 +08:00
GeWuYou
b49079de3e
style(coding-style): 统一代码风格并优化文档格式
...
- 移除多余using语句和空行,统一代码缩进格式
- 优化注释文档中的缩进和对齐格式
- 简化条件语句和方法实现,提升代码可读性
- 重构协程系统相关类的字段和方法定义格式
- 更新架构服务中容器访问方式的实现
- 调整异步操作类的属性和方法组织结构
- [skip ci]
2026-01-27 20:30:04 +08:00
GeWuYou
2d15184afe
refactor(architecture): 移除架构生命周期事件发送功能
...
- 从 Architecture.cs 中移除所有 EventBus.Send 事件发送调用
- 删除 ArchitectureEvents.cs 文件及其相关事件定义
- 移除架构销毁开始、销毁完成和初始化失败事件的发送逻辑
- 更新测试代码移除对已删除事件的依赖
2026-01-24 09:15:31 +08:00
GeWuYou
7246fef061
doc(core-tests): 添加架构配置和上下文相关单元测试添加注释
...
- 添加注释
- [skip ci]
2026-01-16 13:15:52 +08:00
GeWuYou
804ccee329
feat(tests): 添加ArchitectureEventsTests测试类并更新测试覆盖率计划
...
- 新增ArchitectureEventsTests.cs文件,包含9个测试用例
- 覆盖架构生命周期事件、事件订阅、事件顺序等核心功能
- 测试用例包括ArchitectureLifecycleReadyEvent、ArchitectureDestroyingEvent、
ArchitectureDestroyedEvent、ArchitectureFailedInitializationEvent等事件
- 更新TEST_COVERAGE_PLAN.md中的测试统计数据
- 测试覆盖率从44%提升至45%
- 现有测试数从277个增加到286个
- 缺失测试数相应调整为122-178个
- 已完成文件数更新为4/26个
2026-01-16 12:21:22 +08:00
GeWuYou
2ae26ea590
fix(events): 修复事件获取方法调用错误
...
- 将 EasyEvents.Get 替换为 EasyEvents.GetOrAdd 以确保事件实例正确获取
- 移除多余的 _easyEvents.GetOrAddEvent 调用避免重复初始化
- 统一事件获取方式提高代码一致性
2026-01-15 22:00:24 +08:00
GeWuYou
5d11666fd8
test(core): 添加核心组件的单元测试
...
- 为 ContextAware 功能添加全面的单元测试覆盖
- 增加对枚举扩展生成器的快照测试验证
- 实现环境管理器的完整测试用例集
- 添加事件总线功能的核心测试验证
- 为游戏上下文管理添加架构测试
- 扩展注销列表扩展方法的测试覆盖
- 增加注销机制的全面单元测试验证
- [skip ci]
2026-01-15 14:36:30 +08:00
GeWuYou
dda2d8f864
test(core): 添加核心组件单元测试并优化目标框架配置
...
- 在AsyncTestModel和TestModel中添加override关键字修复方法重写
- 调整GFramework.Core.Tests和GFramework.SourceGenerators.Tests的目标框架顺序为net10.0;net8.0
- 优化SyncArchitectureTests中的注释格式,统一添加前导空格
- 移除TestQuery相关代码文件
- 新增BindablePropertyTests测试绑定属性功能
- 新增CommandBusTests测试命令总线功能
- 新增EasyEventsTests和EventTests测试事件系统功能
- 新增IocContainerTests测试依赖注入容器功能
- 新增ObjectExtensionsTests测试对象扩展方法功能
- 新增ObjectPoolTests测试对象池功能
- 新增OrEventTests测试或事件功能
- 新增QueryBusTests测试查询总线功能
- [skip ci]
2026-01-15 13:53:08 +08:00
GeWuYou
4f01828543
refactor(architecture): 重构架构基类和模型实现
...
- 移除 Architecture 类中关于业务操作方法的注释说明
- 更新 AsyncTestModel 继承 AbstractModel 并移除上下文设置相关方法
- 添加 ITestModel 接口定义用于测试模型
- 在 SyncArchitectureTests 中添加事件接收和取消注册功能测试
- 创建 TestEvent 和 EmptyEvent 用于事件系统测试
- 修改 TestModel 继承 AbstractModel 并实现 ITestModel 接口
- 添加 TestQuery 类用于测试查询操作功能
- [skip ci]
2026-01-06 12:07:03 +08:00