GeWuYou c82a15f8bc refactor(abstractions): 将Architecture命名空间重命名为Architectures
- 更新所有引用GFramework.Core.Abstractions.Architecture的文件
- 将ArchitectureModuleRegistry.cs从Architecture目录移动到Architectures目录
- 将IArchitecture.cs从Architecture目录移动到Architectures目录
- 将IArchitectureConfiguration.cs从Architecture目录移动到Architectures目录
- 将IArchitectureContext.cs从Architecture目录移动到Architectures目录
- 将IArchitectureContextProvider.cs从Architecture目录移动到Architectures目录
- 将IArchitectureLifecycleHook.cs从Architecture目录移动到Architectures目录
- 将IArchitectureModule.cs从Architecture目录移动到Architectures目录
- 将IArchitecturePhaseListener.cs从Architecture目录移动到Architectures目录
- 将IArchitectureServices.cs从Architecture目录移动到Architectures目录
- 将IServiceModule.cs从Architecture目录移动到Architectures目录
- 将IServiceModuleManager.cs从Architecture目录移动到Architectures目录
- 在ArchitectureModuleRegistry中将私有字段_factories重命名为Factories并添加StringComparer.Ordinal参数
2026-03-14 16:52:28 +08:00

31 lines
993 B
C#

using GFramework.Core.Abstractions.Architectures;
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;
}
}