mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 移除 RegisterBuiltInModules 方法中的 ArchitectureProperties 参数 - 更新 ArchitectureModuleRegistry 使用 ConcurrentDictionary 存储模块工厂 - 实现模块注册的幂等性检查,相同模块名只注册一次 - 为 ArchEcsModule 添加 ArchOptions 配置类支持 - 更新 UseArch 扩展方法传递配置选项给 ArchEcsModule - 移除废弃的 properties 命名空间引用 - 添加显式注册集成测试验证模块配置功能
31 lines
992 B
C#
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;
|
|
}
|
|
} |