mirror of
https://github.com/DCFApixels/DragonECS.git
synced 2025-09-18 01:44:35 +08:00
update
This commit is contained in:
parent
4196c1e600
commit
f479cb122d
@ -797,6 +797,32 @@ namespace DCFApixels.DragonECS
|
||||
|
||||
public static partial class EcsPipelineBuilderExtensions
|
||||
{
|
||||
#region Simple Builders
|
||||
public static EcsPipeline ToPipeline(this IEcsModule module)
|
||||
{
|
||||
return EcsPipeline.New().Add(module).Build();
|
||||
}
|
||||
public static EcsPipeline ToPipelineAndInit(this IEcsModule module)
|
||||
{
|
||||
return EcsPipeline.New().Add(module).BuildAndInit();
|
||||
}
|
||||
public static EcsPipeline ToPipeline(this IEnumerable<IEcsModule> modules)
|
||||
{
|
||||
var result = EcsPipeline.New();
|
||||
foreach (var module in modules)
|
||||
{
|
||||
result.Add(module);
|
||||
}
|
||||
return result.Build();
|
||||
}
|
||||
public static EcsPipeline ToPipelineAndInit(this IEnumerable<IEcsModule> modules)
|
||||
{
|
||||
var result = modules.ToPipeline();
|
||||
result.Init();
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Add IEcsProcess
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static EcsPipeline.Builder Add(this EcsPipeline.Builder self, IEcsProcess system)
|
||||
|
@ -231,8 +231,10 @@ namespace DCFApixels.DragonECS
|
||||
{
|
||||
void Import(EcsPipeline.Builder b);
|
||||
}
|
||||
public abstract class EcsModule<T> : IEcsModule, IInjectionUnit
|
||||
public abstract class EcsModule<T> : IEcsModule, IInjectionUnit, IEcsDefaultAddParams
|
||||
{
|
||||
AddParams IEcsDefaultAddParams.AddParams { get { return AddParams; } }
|
||||
protected virtual AddParams AddParams { get { return default; } }
|
||||
public abstract void Import(EcsPipeline.Builder b);
|
||||
void IInjectionUnit.InitInjectionNode(InjectionGraph nodes) { nodes.AddNode<T>(); }
|
||||
public EcsModule() { if (GetType() != typeof(T)) { Throw.UndefinedException(); } }
|
||||
|
Loading…
Reference in New Issue
Block a user