GeWuYou 5c5525e3e9 refactor(architecture): 简化模块注册接口并增强配置管理
- 移除 RegisterBuiltInModules 方法中的 ArchitectureProperties 参数
- 更新 ArchitectureModuleRegistry 使用 ConcurrentDictionary 存储模块工厂
- 实现模块注册的幂等性检查,相同模块名只注册一次
- 为 ArchEcsModule 添加 ArchOptions 配置类支持
- 更新 UseArch 扩展方法传递配置选项给 ArchEcsModule
- 移除废弃的 properties 命名空间引用
- 添加显式注册集成测试验证模块配置功能
2026-03-08 20:47:26 +08:00

31 lines
992 B
C#

using GFramework.Core.Abstractions.architecture;
namespace GFramework.Ecs.Arch.extensions;
/// <summary>
/// Arch ECS 扩展方法
/// </summary>
public static class ArchExtensions
{
/// <summary>
/// 添加 Arch ECS 支持到架构中
/// </summary>
/// <typeparam name="TArchitecture">架构类型</typeparam>
/// <param name="architecture">架构实例</param>
/// <param name="configure">可选的配置委托</param>
/// <returns>架构实例,支持链式调用</returns>
public static TArchitecture UseArch<TArchitecture>(
this TArchitecture architecture,
Action<ArchOptions>? configure = null)
where TArchitecture : IArchitecture
{
// 配置选项
var options = new ArchOptions();
configure?.Invoke(options);
// 注册模块(传递配置选项)
ArchitectureModuleRegistry.Register(() => new ArchEcsModule(options, enabled: true));
return architecture;
}
}