GeWuYou
|
a47439f027
|
feat(coroutine): 添加带超时的事件等待协程指令
- 实现 WaitForEventWithTimeout 类用于带超时的事件等待
- 支持泛型事件类型参数化
- 提供超时检测和事件数据访问功能
- 实现 IYieldInstruction 接口支持协程执行
- 包含时间累加和状态更新逻辑
|
2026-02-01 10:37:29 +08:00 |
|
GeWuYou
|
32be23b01d
|
feat(coroutine): 添加命令和查询的协程扩展功能
- 实现了 CommandCoroutineExtensions 类,提供命令异步执行的协程包装
- 添加了 SendCommandCoroutineWithErrorHandler 方法处理命令执行异常
- 实现了 SendCommandAndWaitEventCoroutine 方法支持发送命令并等待事件
- 创建了 QueryCoroutineExtensions 类,提供查询操作的协程扩展
- 添加了 WaitForEvent 协程指令用于等待特定事件触发
- 实现了完整的事件监听和资源清理机制
|
2026-02-01 10:35:11 +08:00 |
|
GeWuYou
|
b2e8ed9787
|
refactor(functional): 重构函数式编程扩展模块
- 移除 EnumerableExtensions 扩展类及其 Map、Filter、Reduce 方法
- 从 ControlExtensions 中删除 Match、MatchOrDefault、If、IfElse 等控制流方法
- 重命名 FunctionExtensions 中的 Memoize 为 MemoizeUnbounded 并更新文档注释
- 重命名 FunctionExtensions 中的 Partial 相关方法并调整参数命名
- 在 PipeExtensions 中移除 Pipe、Then、After、Let 等方法,保留 Also 方法
- 删除多个功能性类型扩展文件,包括 Option、Result、NullableExtensions 等
- 移除功能扩展的 README.md 文档文件
- 更新相关命名空间引用和依赖关系
- [release ci]
|
2026-01-31 22:31:50 +08:00 |
|
GeWuYou
|
3493d6a481
|
docs(functional): 添加函数式编程类型文档和单元测试
- 新增 Option 类型文档,包含核心类型及扩展方法说明
- 新增 Result 类型文档,包含核心类型及扩展方法说明
- 新增 Nullable Extensions 文档,提供可空类型转换功能说明
- 添加 Option 类型单元测试,覆盖基本功能和扩展方法
- 添加 Result 类型单元测试,验证成功失败结果处理
- 添加 Nullable Extensions 单元测试,确保类型转换正确性
- 添加 Option 和 Result 扩展方法的完整测试用例
- [release ci]
|
2026-01-31 21:52:04 +08:00 |
|
GeWuYou
|
1b442edadd
|
refactor(functions): 重构函数式编程扩展方法
- 使用ConcurrentDictionary替换Dictionary实现线程安全的Memoize功能
- 将TryResult方法重命名为Try并简化返回类型为元组结构
- 为所有功能区域添加代码区域标记(柯里化、部分应用、重复执行、安全执行、缓存、映射)
- 更新Try方法的XML文档注释以匹配新的返回类型
- 移除GFramework.Core.functional.types命名空间引用并添加System.Collections.Concurrent引用
|
2026-01-31 21:44:45 +08:00 |
|
GeWuYou
|
20dcb87def
|
refactor(control): 修改Match方法返回Option类型
- 将Match方法的返回类型从TResult改为Option<TResult>
- 匹配成功时返回Option<TResult>.Some(handler(value))
- 匹配失败时返回Option<TResult>.None()而不是抛出异常
- 移除InvalidOperationException异常抛出逻辑
|
2026-01-31 21:40:27 +08:00 |
|
GeWuYou
|
20bbf2297e
|
refactor(pipe): 移除Apply和On扩展方法
- 删除了Apply扩展方法及其相关文档注释
- 删除了On扩展方法及其相关文档注释
- 移除了对应的单元测试方法
- 保留了Also、Pipe等其他管道操作方法
|
2026-01-31 21:34:02 +08:00 |
|
GeWuYou
|
c9dd969b05
|
feat(functional): 添加Result类型及其扩展方法支持
- 引入Result<TSuccess, TError>结构体用于表示可能成功或失败的计算结果
- 实现Result类型的Success和Failure静态工厂方法
- 添加SuccessValue和ErrorValue属性用于获取对应值
- 创建ResultExtensions扩展类提供Map、Bind、MapError和Match方法
- 在FunctionExtensions中添加TryResult方法将异常安全执行封装为Result类型
- 更新Try方法的文档注释以反映新的功能和返回类型
|
2026-01-31 21:31:33 +08:00 |
|
GeWuYou
|
fd3a9ae9e0
|
feat(functional): 添加函数式编程扩展和Option类型支持
- 在FunctionExtensions中新增Map扩展方法用于对象映射
- 在PipeExtensions中新增On扩展方法用于值到函数的应用
- 移除Tap方法及相关测试以优化管道操作
- 新增NullableExtensions实现可空类型到Option的转换
- 新增Option结构体提供安全的可选值处理
- 新增OptionExtensions提供Map、Bind、Filter、Match等函数式操作
- 新增OptionValueExtensions提供GetOrElse和OrElse值提取方法
- 调整全局引用添加Concurrent集合支持
- 扩展IResetApplyAbleSettings接口添加Data属性
- 更新Godot设置类实现Data属性返回设置数据模型
|
2026-01-31 21:25:27 +08:00 |
|
GeWuYou
|
43dcae0cf5
|
refactor(pipe): 重构函数式编程扩展方法为模块化结构
- 将原有的PipeExtensionsTests拆分为多个专门的测试类
- 创建ControlExtensionsTests用于控制流函数测试
- 创建EnumerableExtensionsTests用于集合操作函数测试
- 创建FunctionExtensionsTests用于高级函数操作测试
- 移除旧的综合测试文件中的多余测试方法
- 更新文档结构以反映新的模块化组织方式
- 重新整理README.md文档为模块化分类说明
|
2026-01-31 15:11:33 +08:00 |
|
GeWuYou
|
5318f5a38f
|
refactor(functional): 重构函数式编程扩展方法组织结构
- 将原有的 PipeExtensions.cs 文件拆分为多个专门的功能模块
- 新增 ControlExtensions.cs 专门处理控制流扩展方法
- 新增 EnumerableExtensions.cs 专门处理集合相关扩展方法
- 新增 FunctionExtensions.cs 专门处理函数式编程核心功能
- 新增 TypeExtensions.cs 专门处理类型转换相关扩展方法
- 移除 PipeExtensions.cs 中的集合操作、函数式核心功能和控制流方法
- 保留 PipeExtensions.cs 中的管道操作相关核心方法
- 优化代码组织结构提升可维护性和可读性
|
2026-01-31 14:45:16 +08:00 |
|
GeWuYou
|
317bded2e1
|
docs(GFramework.Core): 添加Pipe扩展方法文档
- 新增函数式编程扩展方法的详细说明文档
- 包含管道操作、函数组合、柯里化等20种核心功能介绍
- 提供每种方法的具体用法示例和代码片段
- 添加链式操作和函数组合的实际应用场景
- 补充注意事项和适用场景说明
|
2026-01-31 09:11:55 +08:00 |
|
GeWuYou
|
b4c1096b10
|
feat(core): 添加函数式编程管道扩展方法
- 实现 Pipe 方法用于将值传递给函数
- 添加 Then 和 After 方法用于函数组合操作
- 提供 Tap 和 Also 方法用于执行副作用操作
- 添加 Map、Filter、Reduce 方法用于集合操作
- 实现 Curry、Uncurry、Partial 方法支持柯里化
- 添加 Match 和 MatchOrDefault 方法用于模式匹配
- 提供 If、IfElse 条件执行功能
- 添加类型转换相关方法 As、Cast
- 实现 Let、TakeIf、TakeUnless 等 方法
- 添加 Repeat 方法用于重复执行函数
- 提供 Try 方法用于安全执行函数
- 实现 Memoize 方法用于函数结果缓存
|
2026-01-31 09:06:10 +08:00 |
|
GeWuYou
|
b49079de3e
|
style(coding-style): 统一代码风格并优化文档格式
- 移除多余using语句和空行,统一代码缩进格式
- 优化注释文档中的缩进和对齐格式
- 简化条件语句和方法实现,提升代码可读性
- 重构协程系统相关类的字段和方法定义格式
- 更新架构服务中容器访问方式的实现
- 调整异步操作类的属性和方法组织结构
- [skip ci]
|
2026-01-27 20:30:04 +08:00 |
|
GeWuYou
|
bb95f738a8
|
chore(project): 禁用隐式using并添加全局using文件
- 在所有项目中禁用 ImplicitUsings 配置
- 为所有项目添加 GlobalUsings.cs 文件统一管理常用命名空间
- 统一添加 System、System.Collections.Generic、System.Linq、System.Threading 和 System.Threading.Tasks 的全局引用
- 更新项目文件中的 PackageReference 格式规范化
- 移除各个源文件顶部的重复 using 语句
- 添加标准版权头注释到全局引用文件
|
2026-01-27 12:45:03 +08:00 |
|
GeWuYou
|
87e11449f1
|
refactor(core): 移除隐式using并统一全局using配置
- 在多个核心类文件中移除System命名空间的重复using声明
- 创建GlobalUsings.cs文件集中管理公共命名空间引用
- 将System、System.Collections.Generic、System.Linq、System.Threading.Tasks设为全局using
- 禁用项目级别的隐式using功能以提高代码可读性
- 优化项目配置中的包引用格式添加必要的空格
|
2026-01-27 12:35:44 +08:00 |
|
GeWuYou
|
21c5d1bc68
|
refactor(command): 重构命令和查询抽象基类以支持输入参数分离
- 将 AbstractAsyncCommand 拆分为 AbstractAsyncCommand 和 AbstractAsyncCommandWithInput
- 将 AbstractAsyncCommand<TInput, TResult> 移至新的 AbstractAsyncCommandWithResult 类
- 将 AbstractCommand 拆分为 AbstractCommand 和 AbstractCommandWithInput
- 将 AbstractCommand<TInput, TResult> 移至新的 AbstractCommandWithResult 类
- 将 AbstractAsyncQuery 简化为不带输入参数的版本
- 将 AbstractQuery 简化为不带输入参数的版本
- 创建新的 AbstractAsyncQueryWithResult 类处理带输入参数的异步查询
- 创建新的 AbstractQueryWithResult 类处理带输入参数的同步查询
|
2026-01-26 13:03:50 +08:00 |
|
GeWuYou
|
01d9fefa1d
|
feat(coroutine): 扩展协程功能并重构指令结构
- 将协程等待指令移动到instructions命名空间下
- 添加WaitForProgress指令支持带进度回调的时间等待
- 添加WaitForAllCoroutines指令用于等待多个协程完成
- 添加AsyncOperation类用于桥接协程与async/await模型
- 添加协程扩展方法包括RepeatEvery、ExecuteAfter、Sequence等功能
- 添加Task与协程的转换扩展方法AsCoroutineInstruction
- 添加协程调度器的ParallelCoroutines扩展方法
- 添加IsCoroutineAlive方法检查协程状态
- 更新相关测试文件以匹配新的命名空间结构
|
2026-01-26 09:44:07 +08:00 |
|
GeWuYou
|
27bc481577
|
feat(Architecture): 添加架构就绪状态等待功能
- 新增 `_readyTcs` 字段用于跟踪架构初始化状态
- 添加 `IsReady` 属性检查当前架构是否已就绪
- 在架构进入 Ready 阶段时释放 Ready await
- 实现 `WaitUntilReadyAsync()` 方法支持异步等待架构初始化完成
- [skip ci]
|
2026-01-24 15:42:32 +08:00 |
|
GeWuYou
|
9808367aa5
|
refactor(architecture): 移除事件相关依赖并优化命名空间引用
- 从 Architecture.cs 中移除了 GFramework.Core.Abstractions.events 和 GFramework.Core.events 的引用
- 在 EasyEventGeneric.cs 中添加了 System 命名空间引用
- 在 GameContext.cs 中添加了 System、System.Collections.Generic 和 System.Linq 引用
- 在 ObjectExtensions.cs 中添加了 System 命名空间引用
- 整理了架构层的依赖关系,移除了不必要的事件模块引用
- 优化了各文件的 using 语句顺序和结构
- [skip ci]
|
2026-01-24 09:17:32 +08:00 |
|
GeWuYou
|
2d15184afe
|
refactor(architecture): 移除架构生命周期事件发送功能
- 从 Architecture.cs 中移除所有 EventBus.Send 事件发送调用
- 删除 ArchitectureEvents.cs 文件及其相关事件定义
- 移除架构销毁开始、销毁完成和初始化失败事件的发送逻辑
- 更新测试代码移除对已删除事件的依赖
|
2026-01-24 09:15:31 +08:00 |
|
GeWuYou
|
7314bf03d0
|
feat(coroutine): 添加基于条件和取消令牌的重复调用功能
- 新增RepeatCallForever方法支持条件函数参数
- 添加CancellationToken参数支持取消令牌控制
- 重构原有RepeatCallForever方法保持向后兼容
- 添加详细的XML文档注释说明参数和返回值
- 实现基于条件判断的循环执行逻辑
- 实现基于取消令牌的循环执行控制
|
2026-01-23 12:50:59 +08:00 |
|
GeWuYou
|
bf517a4f7f
|
refactor(coroutine): 优化协程调度器实现
- 在 CoroutineSlot 中添加 Handle 属性用于标识协程实例
- 使用集合初始化语法替换 HashSet 创建方式
- 简化协程执行状态检查逻辑
- 优化 KillAllByTag 方法中的计数逻辑
- 改进协程清理过程中的句柄验证和等待者唤醒机制
|
2026-01-23 12:42:06 +08:00 |
|
GeWuYou
|
ddbf7af572
|
feat(coroutine): 添加完整的协程系统实现
- 实现了协程调度器和句柄管理机制
- 添加了多种等待指令包括延时、帧数、条件等待等
- 创建了协程辅助方法和扩展功能
- 集成了Godot引擎的时间源和生命周期管理
- 实现了协程的暂停、恢复、终止等控制功能
- 添加了协程标签管理和按标签批量操作功能
- 提供了与Godot节点生命周期绑定的取消机制
|
2026-01-21 20:34:10 +08:00 |
|
GeWuYou
|
16a72e85af
|
refactor(coroutine): 移除协程相关抽象接口
移除了以下协程相关的接口定义:
- ICoroutineContext: 协程上下文接口
- ICoroutineHandle: 协程句柄接口
- ICoroutineScheduler: 协程调度器接口
- ICoroutineScope: 协程作用域接口
- ICoroutineSystem: 协程系统接口
- IYieldInstruction: 等待指令接口
- [skip ci]
|
2026-01-21 16:02:27 +08:00 |
|
GeWuYou
|
3e26c84bb1
|
feat(coroutine): 优化协程执行机制,修复嵌套协程和yield null处理问题
- 修改CoroutineHandle中的协程执行逻辑,实现每帧只推进一步的机制,
避免单帧内过度执行导致的性能问题
- 修复yield null处理逻辑,正确处理等待一帧后继续执行的情况
- 改进嵌套协程处理,确保子协程完成后正确返回到父协程
- 优化WaitUntil条件检查逻辑,确保状态转换正确性
- 在定时任务扩展中添加yield break确保协程正确结束
- 调整协程调度器的更新顺序,先添加新协程再执行更新
|
2026-01-21 14:19:15 +08:00 |
|
GeWuYou
|
f24ec656e6
|
refactor(coroutine): 将协程相关接口从Game模块迁移到Core模块
- 重命名命名空间从GFramework.Game.Abstractions.coroutine到GFramework.Core.Abstractions.coroutine
- 更新ICoroutineContext.cs、ICoroutineHandle.cs、ICoroutineScheduler.cs、
ICoroutineScope.cs、ICoroutineSystem.cs、IYieldInstruction.cs的命名空间
- 更新测试覆盖率计划文档,添加协程模块测试计划
- 新增协程模块测试计划,包含15个源文件,计划91个测试用例
- 添加CoroutineHandleTests.cs等7个协程相关测试文件的计划
|
2026-01-21 09:21:08 +08:00 |
|
GeWuYou
|
c2b046e185
|
chore(logging): 添加系统命名空间引用
- 在 AbstractLogger.cs 中添加 System 命名空间引用
- 在 ConsoleLogger.cs 中添加 System 和 System.IO 命名空间引用
- 统一日志模块的命名空间导入规范
|
2026-01-20 07:55:06 +08:00 |
|
GeWuYou
|
825a026c8e
|
refactor(architecture): 重构架构上下文和服务初始化逻辑
- 移除 Architecture 类中的命令总线、查询总线和异步查询总线属性
- 修改 ArchitectureContext 构造函数,仅接收容器参数并实现服务缓存机制
- 添加 GetService 方法用于获取指定类型的服务实例
- 更新所有查询和命令方法使用服务缓存机制
- 修改 ArchitectureServices 构造函数初始化逻辑,将服务注册到容器
- 更新相关测试类中的上下文初始化方式
- 在 GameContext 和相关测试类中实现 GetService 方法
|
2026-01-18 22:26:02 +08:00 |
|
GeWuYou
|
1c1385ee24
|
feat(architecture): 添加异步查询总线支持
- 在Architecture类中添加AsyncQueryBus属性
- 在ArchitectureContext中添加异步查询执行方法SendQueryAsync
- 在ArchitectureServices中添加AsyncQueryBus服务实例
- 扩展IArchitectureContext接口以包含异步查询方法
- 扩展IArchitectureServices接口以包含异步查询总线
- 更新ArchitectureContext构造函数以接受异步查询总线参数
- 为ArchitectureContextTests添加异步查询总线相关测试用例
- 更新测试中的构造函数调用以包含新的异步查询总线参数
|
2026-01-18 20:53:44 +08:00 |
|
GeWuYou
|
15844b7077
|
refactor(query): 将IAsyncQueryBus接口移动到GFramework.Core.Abstractions模块
- 将IAsyncQueryBus.cs文件从GFramework.Core/query重命名为GFramework.Core.Abstractions/query
- 更新命名空间从GFramework.Core.query到GFramework.Core.Abstractions.query
- 移除无用的GFramework.Core.Abstractions.query using引用
- 添加System.Threading.Tasks命名空间引用
|
2026-01-18 20:41:48 +08:00 |
|
GeWuYou
|
42ddb80248
|
feat(core): 添加异步查询系统并优化命令系统实现
- 新增 AbstractAsyncQuery 基类支持异步查询操作
- 实现 AsyncQueryBus 和 IAsyncQueryBus 查询总线功能
- 添加 IAsyncQuery 接口定义异步查询契约
- 重构 CommandBus 的 SendAsync 方法移除不必要的 await
- 为 AbstractAsyncCommand 添加完整 XML 文档注释
- 更新 TEST_COVERAGE_PLAN.md 反映测试覆盖率提升至 91.5%
|
2026-01-18 20:39:23 +08:00 |
|
GeWuYou
|
bbb8d417f6
|
refactor(state): 将状态机相关类重命名以统一命名规范
- 将 ContextAwareStateMachine 重命名为 StateMachineSystem
- 将 ContextAwareStateMachineTests 重命名为 StateMachineSystemTests
- 将 GameStateMachine 重命名为 GameStateMachineSystem
- 创建新的 IStateMachineSystem 接口继承 ISystem 和 IStateMachine
- 移除 ContextAwareStateMachine 中对 system 的引用
- 将 Context 字段改为私有 _context 字段
- 更新所有测试类中的类型引用以匹配新名称
|
2026-01-17 21:13:38 +08:00 |
|
GeWuYou
|
ba91b68c64
|
feat(architecture): 修改InstallModule和RegisterLifecycleHook方法返回实例
- InstallModule方法现在返回安装的模块实例
- RegisterLifecycleHook方法现在返回注册的钩子实例
- 为两个方法添加返回值的XML文档注释
- 更新接口定义以匹配新的返回类型
|
2026-01-17 19:44:56 +08:00 |
|
GeWuYou
|
e29b6da9e1
|
refactor(ContextAwareExtensions): 重构命令发送方法并优化代码结构
- 移除重复的SendCommand同步方法实现
- 统一Context变量命名规范,修复大小写不一致问题
- 调整方法顺序并重新组织代码结构
- 完善IAsyncCommand接口的XML文档注释
- 优化异步命令执行的实现逻辑
|
2026-01-17 19:26:13 +08:00 |
|
GeWuYou
|
e7285b3426
|
feat(core): 添加异步命令支持功能
- 在 ArchitectureContext 中新增 SendCommandAsync 方法支持异步命令执行
- 在 CommandBus 中实现 SendAsync 方法处理异步命令的发送和执行
- 在 ContextAwareExtensions 中扩展 SendCommandAsync 扩展方法
- 更新 IArchitectureContext 接口定义异步命令方法契约
- 更新 ICommandBus 接口定义异步命令执行方法
- 新增 AbstractAsyncCommand 抽象类提供异步命令基类实现
- 定义 IAsyncCommand 接口规范异步命令的行为 contract
|
2026-01-17 16:03:00 +08:00 |
|
GeWuYou
|
ce6cb3f8df
|
refactor(state): 修改状态机接口返回类型支持链式调用
- 将Register方法返回类型从void改为IStateMachine
- 将Unregister方法返回类型从void改为IStateMachine
- 在实现类中添加return this语句
- 更新接口定义以匹配新的返回类型
- 实现链式调用功能提升API易用性
|
2026-01-17 13:20:33 +08:00 |
|
GeWuYou
|
103792f178
|
feat(state): 为状态基类添加销毁功能支持
- 实现 IDisposable 接口以支持资源清理
- 添加 Destroy 方法用于状态销毁和资源释放
- 在状态机切换时调用 Destroy 替代 Dispose
- 允许子类重写 Destroy 方法执行特定清理操作
- 确保状态切换时正确释放相关资源
|
2026-01-17 13:08:55 +08:00 |
|
GeWuYou
|
00053e67e5
|
refactor(architecture): 修改注册方法返回注册成功的实例
- 修改RegisterSystem方法返回注册的系统实例
- 修改RegisterModel方法返回注册的模型实例
- 修改RegisterUtility方法返回注册的工具实例
- 更新接口定义以匹配新的返回值类型
- 添加泛型约束说明到XML文档注释
|
2026-01-17 13:07:56 +08:00 |
|
GeWuYou
|
9f505061bd
|
refactor(Architecture): 移除多余的注释标记
移除了Lifecycle Management区域中关于方案1的多余注释标记,
保留了必要的方法文档注释,使代码更加简洁清晰。
|
2026-01-17 11:38:04 +08:00 |
|
GeWuYou
|
44b7a223d8
|
refactor(architecture): 优化组件初始化和销毁管理机制
- 将_pendingInitializableList重命名为_pendingInitializableSet并改为HashSet类型,
实现组件去重功能
- 新增_pendingInitializableList保持组件注册顺序
- 将_disposables重命名为_disposableSet并改为HashSet类型,避免重复注册
- 新增_disposables列表保持销毁顺序
- 在添加可初始化组件时使用原子去重检查
- 在添加可销毁组件时使用原子去重检查
- 清空操作同步清理对应的Set集合
- 销毁组件时按注册逆序进行销毁,确保依赖关系正确处理
|
2026-01-17 11:30:39 +08:00 |
|
GeWuYou
|
47326085e7
|
fix(state): 修改状态机切换方法返回值类型并改进转换失败处理
- 将ChangeTo方法返回值从void改为bool类型
- 添加转换失败时返回false的逻辑
- 在状态转换被拒绝时调用OnTransitionRejected回调
- 更新接口定义以匹配新的返回值类型
- 修改单元测试以验证转换失败时的返回值
- [skip ci]
|
2026-01-17 10:06:16 +08:00 |
|
GeWuYou
|
f70254716b
|
refactor(architecture): 重构架构阶段验证和初始化流程
- 修改阶段转换验证逻辑,允许从任何阶段转换到 FailedInitialization
- 调整初始化流程,确保始终进入各个阶段而不仅仅是有组件时才进入
- 重新排列阶段转换顺序,实现线性状态机模式
- 添加架构阶段线性顺序定义数组
- 更新测试用例以验证初始化失败时抛出异常的情况
|
2026-01-17 10:05:52 +08:00 |
|
GeWuYou
|
d8df348bec
|
refactor(architecture): 重构架构生命周期管理和组件注册逻辑
- 添加IDisposable接口导入并优化组件生命周期管理
- 引入IInitializable和IDisposable统一管理待初始化和可销毁组件
- 实现统一的组件生命周期注册逻辑RegisterLifecycleComponent方法
- 重构InitializeAllComponentsAsync方法按类型分组初始化组件
- 更新RegisterSystem、RegisterModel和RegisterUtility方法使用新生命周期管理
- 修改Destroy方法使用新的_disposables集合进行有序销毁
- 移除旧的_mModels、_mSystems、_mContextUtilities字段
- 添加ValidateRegistration方法验证注册时机
- 重构InitializeInternalAsync方法使用新的组件初始化流程
- 移除废弃的InitializeComponentAsync方法
- 添加异常处理和错误日志记录机制
|
2026-01-17 09:14:04 +08:00 |
|
GeWuYou
|
efa069d2f5
|
refactor(core): 重构核心框架生命周期管理
- 引入标准化的生命周期接口体系 (IInitializable, IDisposable, ILifecycle)
- 将上下文工具类的初始化方法改为公共访问权限
- 为上下文工具类添加销毁功能和相关回调方法
- 更新模型和系统接口以使用新的生命周期接口
- 移除原有的独立初始化和销毁方法声明
- 统一框架组件的生命周期管理机制
|
2026-01-17 08:52:51 +08:00 |
|
GeWuYou
|
b6554c5820
|
refactor(state): 重构状态机实现以支持状态历史记录和线程安全
- 在销毁时添加当前状态退出和所有状态清理逻辑
- 向IStateMachine接口添加状态检查、获取、历史记录等新方法
- 实现线程安全的状态机,添加锁保护并发访问
- 添加状态历史记录功能,支持最大历史数量限制
- 实现GoBack状态回退功能和状态转换验证
- 添加状态切换前后的回调方法
- 在注销状态时从历史记录中移除相关引用
- 添加Unregister方法中的状态转换验证逻辑
|
2026-01-17 08:43:32 +08:00 |
|
GeWuYou
|
941cbee0ad
|
feat(state): 添加上下文感知状态基类
- 实现了ContextAwareStateBase类,继承IState和IContextAware接口
- 提供状态进入、退出和转换的基础功能
- 添加架构上下文的设置和获取方法
- 支持状态转换规则的自定义实现
- 包含完整的XML文档注释
|
2026-01-16 08:26:52 +08:00 |
|
GeWuYou
|
c0274074b3
|
feat(state): 添加状态机系统核心功能实现
- 实现了基础状态机StateMachine类,支持状态注册、切换和生命周期管理
- 创建了上下文感知状态机ContextAwareStateMachine,能够感知架构上下文并发送状态变更事件
- 定义了IState和IStateMachine抽象接口,规范状态和状态机的行为契约
- 添加了StateChangedEvent事件类,用于通知状态变更
- 实现了游戏专用状态机GameStateMachine,提供类型安全的状态检查和获取功能
|
2026-01-15 23:04:41 +08:00 |
|
GeWuYou
|
6cfde41dc6
|
feat(events): 添加全局事件获取或添加功能
- 实现了GetOrAdd方法用于获取或添加指定类型的全局事件
- 添加了XML文档注释说明方法用途和泛型约束
- 方法支持自动创建不存在的事件实例并返回指定类型对象
|
2026-01-15 22:00:32 +08:00 |
|
GeWuYou
|
32ac9e8069
|
refactor(GFramework.Core): 修改GameArchitecture基类继承
- 移除Architecture泛型参数,将GameArchitecture的继承从
`Architecture<GameArchitecture>`改为`Architecture`
- [skip ci]
|
2026-01-12 14:45:26 +08:00 |
|