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