add destroy trash runners

This commit is contained in:
Mikhail 2023-03-30 11:17:17 +08:00
parent 14e1a0ae09
commit 4710778ddf
2 changed files with 12 additions and 3 deletions

View File

@ -10,8 +10,11 @@ namespace DCFApixels.DragonECS
public readonly int id;
public EcsProfilerMarker(int id) => this.id = id;
public EcsProfilerMarker(string name) => id = EcsDebug.RegisterMark(name);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Begin() => EcsDebug.ProfileMarkBegin(id);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void End() => EcsDebug.ProfileMarkEnd(id);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public AutoScope Auto() => new AutoScope(id);
public readonly struct AutoScope : IDisposable

View File

@ -64,9 +64,15 @@ namespace DCFApixels.DragonECS
}
_isInit = true;
GetRunner<IEcsInject<EcsPipeline>>().Inject(this);
GetRunner<IEcsPreInitSystem>().PreInit(this);
GetRunner<IEcsInitSystem>().Init(this);
var ecsPipelineInjectRunner = GetRunner<IEcsInject<EcsPipeline>>();
ecsPipelineInjectRunner.Inject(this);
EcsRunner.Destroy(ecsPipelineInjectRunner);
var preInitRunner = GetRunner<IEcsPreInitSystem>();
preInitRunner.PreInit(this);
EcsRunner.Destroy(preInitRunner);
var initRunner = GetRunner<IEcsInitSystem>();
initRunner.Init(this);
EcsRunner.Destroy(initRunner);
_runRunnerCache = GetRunner<IEcsRunSystem>();
}