mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 更新所有引用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参数
31 lines
993 B
C#
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;
|
|
}
|
|
} |