GwWuYou
|
157b3ce846
|
refactor(events): 将类型事件系统重构为事件总线
- 将TypeEventSystem重命名为EventBus
- 将IEasyEvent接口重命名为IEvent接口
- 将ITypeEventSystem接口重命名为IEventBus接口
- 更新Architecture类中使用TypeEventSystem为EventBus
- 更新ArchitectureContext中依赖注入参数类型
- 将EasyEvent泛型类重命名为Event泛型类
- 更新所有相关类型引用和实现
- 修改接口继承关系以使用新的事件接口命名
|
2026-01-11 11:17:30 +08:00 |
|
GwWuYou
|
e000665c67
|
feat(architecture): 添加上下文工具初始化阶段支持
- 在架构中新增 _mContextUtilities 集合存储未初始化的上下文工具
- 实现工具注册时根据初始化状态决定是否立即初始化上下文工具
- 添加 BeforeUtilityInit 和 AfterUtilityInit 两个新的架构阶段
- 更新架构阶段转换配置以支持工具初始化流程
- 在同步和异步架构测试中验证新的初始化阶段序列
- 完善架构初始化流程日志记录和调试信息
|
2026-01-07 21:16:43 +08:00 |
|
GwWuYou
|
0766416f83
|
feat(architecture): 添加上下文工具支持
- 注册工具时自动设置上下文
- 添加对IContextUtility类型的支持
- 集成extensions命名空间以支持类型检查
|
2026-01-07 20:52:50 +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 |
|
GwWuYou
|
f87c9cf421
|
style(csharp): 格式化代码样式和优化代码结构
- 统一调整代码注释的缩进格式,保持文档注释的一致性
- 简化对象初始化语法,移除不必要的参数名称指定
- 优化条件语句结构,移除多余的花括号
- 调整方法实现格式,使用表达式主体语法简化代码
- 标准化代码缩进和空格使用,提升代码可读性
- [skip ci]
|
2026-01-04 22:14:34 +08:00 |
|
GwWuYou
|
029f3a4652
|
refactor(model): 优化模型架构上下文设置机制
- 移除通过反射调用SetArchitecture方法的方式
- 改为直接调用model.SetContext(Context)方法
- 将AbstractModel基类继承ContextAwareBase
- 删除手动实现的SetContext和GetContext方法
- 简化模型注册流程,提高代码可读性
|
2026-01-03 22:10:56 +08:00 |
|
GwWuYou
|
49ceb35156
|
feat(architecture): 添加环境配置支持并重构架构初始化
- 引入IEnvironment接口和EnvironmentBase抽象类实现环境管理
- 在Architecture类中添加environment参数和Environment属性
- 修改ArchitectureContext构造函数以接收环境对象
- 添加DefaultEnvironment默认环境实现类
- 更新ContextAwareExtensions扩展方法支持环境获取
- 移除NoopLogger和NoopLoggerFactory无操作日志类
- 重构架构初始化流程以包含环境初始化
- 添加GetEnvironment扩展方法用于获取环境对象
|
2026-01-03 21:44:22 +08:00 |
|
GwWuYou
|
0c9063a5fd
|
refactor(architecture): 移除架构运行时并使用命令查询总线
- 移除了 IArchitectureRuntime 接口和 ArchitectureRuntime 类
- 在 ArchitectureContext 中添加了对 ICommandBus 和 IQueryBus 的依赖注入
- 修改 Architecture 类以使用 CommandBus 和 QueryBus 替代 Runtime
- 更新 ArchitectureServices 以提供 CommandBus 和 QueryBus 服务
- 将组件初始化逻辑从 if-else 改为 switch 语句
- 更新 ContextAwareBase 以使用新的 GetFirstArchitectureContext 方法
- 添加了 CommandBus 和 QueryBus 的实现类
- 修复了 Godot 模块中系统获取的重复代码问题
|
2026-01-03 12:07:32 +08:00 |
|
GwWuYou
|
ef7d53dfb6
|
refactor(architecture): 优化模块安装日志输出
- 移除模块名称后缀的".Module",保持日志简洁一致
- 统一安装前后的日志格式
- 提高日志可读性,便于调试和监控
|
2026-01-02 13:37:55 +08:00 |
|
GwWuYou
|
8bccd0fa7f
|
refactor(architecture): 优化模块安装日志记录
- 提取模块类型名称到局部变量以避免重复调用
- 统一使用变量名简化日志消息中的模块名称引用
- 保持原有日志功能不变,仅优化代码结构
|
2026-01-02 13:37:11 +08:00 |
|
GwWuYou
|
333cefa84e
|
refactor(logging): 优化日志记录器的类型名称获取方式
- 修复了Architecture模块安装时的日志记录器类型名称
- 统一了IocContainer中日志记录器的类型名称获取逻辑
- 重构了AbstractSystem中日志记录器的类型名称处理
- 改进了AbstractContextUtility中日志记录器的类型名称获取
- 通过变量缓存避免重复调用GetType().Name提高性能
|
2026-01-02 12:50:22 +08:00 |
|
GwWuYou
|
e19f4ce5a1
|
refactor(architecture): 重构架构初始化方法和测试基类
- 将InitializeAsync方法改为真正的异步方法并正确等待内部初始化
- 移除多余的返回语句以符合异步模式
- 创建TestArchitectureBase基类来统一测试架构的公共功能
- 将AsyncTestArchitecture和SyncTestArchitecture继承自TestArchitectureBase
- 移除重复的属性和方法实现
- 添加完整的异步架构测试用例
- 包括组件初始化、阶段转换、异常处理等测试场景
|
2026-01-02 12:17:15 +08:00 |
|
GwWuYou
|
3729e2ead2
|
feat(architecture): 添加架构初始化失败处理和阶段转换规则
- 将 CurrentPhase 属性改为公共读取私有设置
- 在 Initialize 和 InitializeAsync 方法中添加异常处理机制
- 添加 ArchitectureFailedInitializationEvent 事件类型
- 定义架构阶段转换规则,支持失败初始化状态转换
- 添加 FailedInitialization 枚举值
- 在同步测试架构中添加后注册钩子功能
- 重构测试基类,移除重复的测试方法
- 添加架构初始化失败时的错误日志记录
- 实现初始化失败时自动进入 FailedInitialization 阶段
|
2026-01-02 11:49:12 +08:00 |
|
GwWuYou
|
67b0e83da4
|
refactor(architecture): 重构架构初始化逻辑并添加异步支持
- 修改模块安装日志格式,添加.Module后缀
- 重命名_mInited字段为_mInitialized以提高语义清晰度
- 将EnterPhase方法设为protected virtual以支持继承扩展
- 将阶段变更通知的日志级别从Debug调整为Trace
- 为NotifyPhase方法添加生命周期钩子的日志记录
- 实现同步和异步初始化方法(Initialize和InitializeAsync)
- 创建InitializeComponentAsync方法统一处理组件初始化逻辑
- 重构InitializeInternalAsync方法实现完整的异步初始化流程
- 重命名测试架构类TestArchitecture为SyncTestArchitecture
- 添加异步测试模型AsyncTestModel用于验证异步初始化功能
- 添加失败模型FailingModel用于测试异常处理机制
- 重命名系统测试类的初始化和销毁状态属性
- 创建新的同步架构测试类SyncArchitectureTests替代原有测试
- 删除已过时的ArchitectureInitializationTests测试类
|
2026-01-02 10:39:52 +08:00 |
|
GwWuYou
|
2f5af5c067
|
refactor(architecture): 移除架构上下文中的日志属性依赖
- 从 ArchitectureContext 构造函数中移除 LoggerProperties 参数
- 更新 Architecture 类中上下文初始化逻辑,不再传递日志属性
- 优化事件系统中的空值安全处理
- 修正 EasyEvent 泛型类中的类型参数命名
- 移除不再需要的 IsExternalInit 内部实现
- 更新包引用配置添加 PrivateAssets 属性
|
2026-01-01 22:13:06 +08:00 |
|
GwWuYou
|
f620dea073
|
refactor(architecture): 重构日志系统和配置属性结构
- 将日志工厂配置改为日志属性配置,使用LoggerProperties替代ILoggerFactory
- 引入ArchitectureProperties替代ArchitectureOptions,统一架构配置属性
- 修改日志记录器创建方式,使用LoggerFactoryResolver.Provider统一管理
- 重构控制台日志工厂提供程序接口,移除minLevel参数
- 更新架构配置接口和上下文接口中的日志相关属性
- 移除Godot日志生成器相关的源代码生成器和特性
- 更新源代码生成器中的日志创建逻辑,使用新的日志工厂解析器
|
2026-01-01 21:39:08 +08:00 |
|
GeWuYou
|
2cfa78b91d
|
feat(architecture): 添加架构阶段感知能力支持
- 在AbstractModel和AbstractSystem中添加OnArchitecturePhase虚方法实现
- 修改Architecture类移除IArchitectureLifecycle接口和OnPhase方法
- 更新IModel和ISystem接口继承IArchitecturePhaseAware接口
- 修改AbstractResourceFactorySystem实现IArchitecturePhaseAware接口
- 在测试类TestModel和TestSystem中添加OnArchitecturePhase方法实现
- 在项目文件中添加对生成器相关目录的排除配置
- 将ArchitecturePhase枚举引入到相关文件中
|
2025-12-31 12:42:06 +08:00 |
|
GwWuYou
|
0be919d8b1
|
feat(architecture): 添加架构上下文管理和绑定功能
- 在Architecture类中添加GameContext.Bind调用以绑定架构上下文
- 创建GameContext类用于管理架构上下文实例的注册和获取
- 实现架构上下文的绑定、获取、查找和移除功能
- 更新ContextAwareGenerator生成器以使用懒加载方式获取上下文
- 在测试架构中添加就绪事件注册功能
- 添加架构上下文按类型注册的测试用例
|
2025-12-29 23:11:50 +08:00 |
|
GwWuYou
|
56ff201f94
|
feat(architecture): 为架构服务添加上下文支持并改进事件系统
- 在 ArchitectureServices 中添加 SetContext 和 GetContext 方法
- 为 IArchitectureServices 接口添加 IContextAware 继承
- 在架构初始化过程中设置服务上下文
- 将事件系统的 GetEvent 方法替换为 GetOrAddEvent 方法
- 重构测试类添加测试装置和拆卸逻辑
- 为测试类添加 NonParallelizable 特性确保测试隔离
|
2025-12-29 21:42:52 +08:00 |
|
GwWuYou
|
d73be1e15e
|
refactor(architecture): 调整命名空间结构并添加必要引用
- 将 ArchitecturePhase 枚举移至 enums 命名空间
- 在多个架构相关文件中添加 enums 命名空间引用
- 修复 IController 接口中的错误命名空间声明
- 统一架构组件的命名空间组织结构
|
2025-12-28 15:13:11 +08:00 |
|
GwWuYou
|
2dea63e69f
|
refactor(abstractions): 将抽象接口迁移至独立项目并更新引用
- 将架构相关接口从 GFramework.Core 迁移至 GFramework.Core.Abstractions 项目
- 更新项目引用配置,添加对抽象层项目的项目引用
- 修正命名空间引用,使用新的抽象层命名空间
- 调整类型定义,将 List<T> 替换为更通用的 IList<T> 接口
- 修复控制器接口命名空间错误
- 添加必要的 using 语句以支持新的抽象层引用
|
2025-12-28 10:37:18 +08:00 |
|
GeWuYou
|
017870421e
|
style(csharp): 统一代码格式化规范并优化方法实现
- 调整注释格式统一使用4个空格缩进
- 重新排列字段声明顺序提升代码可读性
- 将简单属性访问器改为表达式主体语法
- 优化AudioManagerSystem中音量设置逻辑
- 移除AbstractAssetCatalogSystem中多余空行
- 重构日志类中方法实现为表达式主体形式
- 统一空行分隔符保持代码结构一致性
- 优化方法内部逻辑表达式简化代码
- [no tag]
|
2025-12-26 13:50:14 +08:00 |
|
GeWuYou
|
7fa2a1e4cb
|
refactor(architecture): 重构日志记录器的初始化和使用方式
- 移除 ArchitectureContext 构造函数中的 ILogger 参数
- 从 IArchitectureContext 接口中移除 Logger 属性
- 更新 AbstractContextUtility 使用 LoggerFactory 创建日志记录器
- 修改 AbstractSystem 使用 LoggerFactory 获取日志记录器
- 调整 Architecture 类中上下文创建时的日志工厂使用
- 更新 IocContainer 初始化时的日志记录器获取方式
- 移除 IIocContainer 接口中的 Init 方法定义
- [no tag]
|
2025-12-25 13:42:16 +08:00 |
|
GeWuYou
|
543e32eb6a
|
feat(architecture): 为架构上下文添加日志工厂支持
- 在ArchitectureContext构造函数中添加ILoggerFactory参数
- 为IArchitectureContext接口添加LoggerFactory属性
- 在Architecture的Initialize和InitializeAsync方法中传递loggerFactory
- 修改AbstractContextUtility初始化逻辑,使用NoopLoggerFactory创建默认logger
- 新增ILogAware接口用于支持日志记录功能
- [no tag]
|
2025-12-25 13:31:16 +08:00 |
|
GwWuYou
|
5b7eaea142
|
refactor(architecture): 重构架构基类以支持上下文和运行时模式
- 移除架构中的命令和查询执行方法,将业务操作委托给 ArchitectureRuntime
- 引入 ArchitectureContext 类统一管理组件访问和事件处理
- 创建 ArchitectureRuntime 类作为统一的命令、查询、事件操作入口
- 更新架构生命周期管理,添加对 IArchitectureLifecycle 的支持
- 重命名 DefaultArchitectureConfiguration 为 ArchitectureConfiguration
- 重命名 DefaultArchitectureServices 为 ArchitectureServices
- 删除旧的 DefaultArchitectureContext 类
- 更新查询接口实现,使用 ContextAwareBase 基类
- 修改系统和模型注册逻辑,使用上下文而非架构实例
- 重构事件发送机制,统一使用 TypeEventSystem
- [no tag]
|
2025-12-24 23:39:34 +08:00 |
|
GwWuYou
|
3e672cf56f
|
refactor(architecture): 重构架构基类以支持依赖注入和服务配置
- 将Architecture类重构为使用构造函数注入IArchitectureConfiguration、IArchitectureServices和IArchitectureContext
- 移除泛型参数和单例模式,改为使用依赖注入容器管理实例
- 添加异步初始化方法InitializeAsync支持异步初始化场景
- 引入ArchitectureOptions类统一管理架构配置选项
- 创建DefaultArchitectureConfiguration和DefaultArchitectureServices默认实现
- 新增IArchitectureContext接口提供统一的上下文访问
- 添加IAsyncInitializable接口支持异步初始化能力
- 简化架构生命周期阶段,移除Created、BeforeInit和AfterInit阶段
- 更新事件系统为ITypeEventSystem接口实现
- 重构命令和控制器接口,统一使用IContextAware替代多个能力接口
- 移除FunctionalArchitectureOptions和相关委托配置方式
- 优化日志记录使用配置中的LoggerFactory实例
|
2025-12-24 23:09:17 +08:00 |
|
GeWuYou
|
c1037c7fe2
|
refactor(architecture): 调整架构阶段访问权限并添加可扩展接口
- 将Architecture.CurrentPhase属性改为私有访问
- 新增IArchitectureExtensible接口提供模块安装和生命周期钩子注册功能
- 实现架构模块安装和生命周期钩子注册的扩展能力
- 优化架构的可扩展性和模块化设计
|
2025-12-23 13:23:37 +08:00 |
|
GeWuYou
|
32a1734659
|
feat(logging): 添加日志系统并集成到框架核心组件
- 实现了完整的日志系统,包括ILog接口和ConsoleLogger实现
- 添加了LogConfig配置类和LoggerFactory工厂类
- 在架构、系统、事件、IOC容器等核心组件中集成了日志记录功能
- 添加了NullLogger和CompositeLogger支持
- 创建了详细的日志使用示例和文档
- 实现了日志级别的分类配置和彩色输出功能
|
2025-12-23 13:08:52 +08:00 |
|
GwWuYou
|
bb403bd454
|
feat(architecture): 添加架构配置选项支持
新增 `IArchitectureOptions` 接口及其实现类 `FunctionalArchitectureOptions`,
用于控制架构行为,如阶段验证严格性和延迟注册许可。
同时为 `Architecture<T>` 类添加虚属性 `Options`,默认返回功能型选项实例。
修改了阶段转换验证、系统/模型注册时机检查逻辑,以支持通过选项动态控制其行为。
调整部分代码格式以提升可读性。
|
2025-12-21 14:35:55 +08:00 |
|
GwWuYou
|
86053f2aee
|
feat(GFramework.Godot): 增强架构生命周期管理与扩展支持
- 将 `Architecture.Destroy` 方法标记为 `virtual`,允许子类重写销毁逻辑
- 在 `AbstractArchitecture` 中引入 Godot 生命周期绑定机制,通过锚点节点自动管理架构销毁
- 新增 `IGodotArchitectureExtension` 接口,支持模块化的扩展组件安装与卸载
- 实现 `InstallGodotExtension` 方法,用于异步加载并挂载扩展节点至架构根节点
- 改进 `ArchitectureAnchorNode` 的回调绑定逻辑,增加重复绑定警告提示
- 优化注释内容,提升代码可读性与维护性
|
2025-12-21 12:55:50 +08:00 |
|
GwWuYou
|
383d934e02
|
feat(core): 完善架构销毁逻辑并新增生命周期事件
- 优化 `Architecture.Destroy()` 方法,确保系统资源被正确清理
- 添加销毁阶段的状态检查,防止重复销毁
- 引入 `ArchitectureDestroyingEvent` 和 `ArchitectureDestroyedEvent` 事件
- 补充架构事件类的注释说明,提升代码可读性
|
2025-12-21 11:58:44 +08:00 |
|
GwWuYou
|
8df2b071cf
|
feat(core): 重构架构初始化事件为生命周期就绪事件
将 `ArchitectureInitializedEvent` 重命名为 `ArchitectureLifecycleReadyEvent`,
并在 `AbstractResourceFactorySystem` 中实现 `IArchitectureLifecycle` 接口,
使其在架构进入就绪阶段时注册并预加载资源。
|
2025-12-21 11:54:27 +08:00 |
|
GwWuYou
|
9a6d41950a
|
feat(Architecture): 重构架构类并增强生命周期管理
- 添加了多个字段和属性的区域划分,提升代码可读性
- 增强了阶段转换控制与验证机制
- 新增模块安装、组件注册与获取、命令执行和查询处理等区域
- 改进了销毁逻辑与生命周期钩子的通知机制
- 对方法进行了重新组织和注释补充,优化结构与维护性
|
2025-12-21 11:47:01 +08:00 |
|
GwWuYou
|
d1cd0cfb05
|
feat(architecture): 引入架构阶段管理机制
新增 `ArchitecturePhase` 枚举及生命周期接口,支持在不同阶段执行相应逻辑。
实现基于阶段的状态转换控制与校验,增强架构初始化流程的可控性与扩展性。
添加模块安装接口 `IArchitectureModule` 及相关感知接口,便于插件化集成。
完善系统与模型注册限制,禁止在就绪后注册组件,提升运行时稳定性。
移除旧版补丁注册机制,统一通过生命周期钩子进行扩展。
|
2025-12-21 11:39:35 +08:00 |
|
GwWuYou
|
1d2847ed5f
|
refactor(core): 替换容器注册方法为RegisterPlurality
- 将Architecture中的Register调用替换为RegisterPlurality
- 更新系统、模型和工具的注册逻辑以支持多重注册
- 确保所有组件正确设置架构引用后进行注册
|
2025-12-18 21:47:26 +08:00 |
|
GeWuYou
|
1e67b8ae52
|
feat(core): 更新架构接口返回值可空
- 修改 GetSystem 方法返回值为可空类型
- 修改 GetModel 方法返回值为可空类型
- 修改 GetUtility 方法返回值为可空类型
- 更新对应接口定义以支持可空返回值
|
2025-12-18 16:06:51 +08:00 |
|
GeWuYou
|
d924cba726
|
feat(ioc): 实现IOC容器线程安全与冻结机制
- 添加读写锁确保多线程环境下的访问安全
- 引入冻结标志位防止容器被意外修改
- 注册和查询方法均增加锁保护逻辑
- 新增 Freeze 方法用于锁定容器状态
- 重构注册内部逻辑并提取公共方法
- 所有公开方法添加线程安全注释说明
- [not tag]
|
2025-12-18 09:26:13 +08:00 |
|
GwWuYou
|
a444581ec7
|
feat(core): 添加架构初始化完成事件
- 在架构初始化完成后发送 ArchitectureInitializedEvent 事件
- 新增 ArchitectureEvents 类用于定义架构相关事件
- 修改 AbstractResourceFactorySystem 在架构初始化完成后执行资源预加载
- 移除 AbstractArchitecture 中的多余空行
|
2025-12-17 21:07:36 +08:00 |
|
GwWuYou
|
eae45625a7
|
feat(godot): 集成Godot生命周期管理
- 新增ArchitectureAnchorNode类用于监听场景树销毁事件
- 在AbstractArchitecture中实现AttachToGodotLifecycle方法
- 自动绑定架构销毁逻辑到Godot节点退出时机
- 防止架构组件在热重载或多次初始化时重复挂载
- 完善系统注册与销毁流程,确保资源正确释放
|
2025-12-17 19:52:25 +08:00 |
|
GeWuYou
|
396cc589bc
|
feat(core): 实现系统销毁机制
- 在 AbstractSystem 中添加 OnDestroy 抽象方法和 ISystem.Destroy 接口实现
- 在 Architecture 中增加 Destroy 方法以统一销毁所有已注册系统
- 更新 ISystem 接口注释及功能描述,明确支持系统销毁能力
- 修正 OnRegisterPatch 调用方式,确保架构注册补丁逻辑正确执行
- 完善 AbstractAudioManagerSystem 中的 OnDestroy 方法重写逻辑
- [no tag]
|
2025-12-17 13:00:33 +08:00 |
|
GwWuYou
|
8188ebbe73
|
refactor(core): 优化架构实例访问方式并增强拖拽组件功能
- 将MArchitecture属性重构为IArchitecture类型的Instance属性
- 移除冗余的Interface属性,统一通过Instance访问架构实例
- 为AbstractDragDrop2DComponentBase组件添加可配置的输入操作名称
- 新增CancelDragInputActionName和SelectInputActionName属性
- 使用属性名替代硬编码字符串来处理拖拽相关输入事件
- 清理代码格式,移除多余空行和调整代码间距
- 更新XML文档注释以反映最新的代码结构和功能说明
|
2025-12-13 20:05:13 +08:00 |
|
GwWuYou
|
82713e34f0
|
refactor(core): 重构架构和命令相关代码结构
- 调整了 Architecture 类中字段和方法的布局,提升可读性
- 优化了命令执行逻辑,明确区分有无返回值的命令处理
- 规范了接口和抽象类的注释格式,增强文档清晰度
- 统一了代码风格,对齐缩进与换行符使用
- 补充了事件系统中泛型事件类的功能实现
- 完善了 README 文档中的条目结构和内容表述
|
2025-12-12 21:10:21 +08:00 |
|
GwWuYou
|
e204f899ba
|
refactor(core): 重构框架命名空间为GFramework.Core
- 将所有framework命名空间下的类迁移至GFramework.Core命名空间
- 更新所有相关using引用从framework到Core
- 重命名项目文件夹及文件路径以匹配新的命名空间结构
- 在解决方案中添加GFramework.Core项目引用
- 配置项目依赖关系并移除旧的Generator引用冲突
- 创建独立的GFramework.Core.csproj项目文件支持多目标框架
|
2025-12-10 08:51:17 +08:00 |
|