diff --git a/src/Builtin/BaseRunners.cs b/src/Builtin/BaseRunners.cs index 9f2168b..b01b49d 100644 --- a/src/Builtin/BaseRunners.cs +++ b/src/Builtin/BaseRunners.cs @@ -21,121 +21,128 @@ namespace DCFApixels.DragonECS public interface IEcsBaseSystem : IEcsInitSystem, IEcsRunSystem, IEcsDestroySystem { } - public sealed class EcsPreInitRunner : EcsRunner, IEcsPreInitSystem + namespace Internal { -#if DEBUG && !DISABLE_DEBUG - private EcsProfilerMarker[] _markers; -#endif - public void PreInit(EcsPipeline pipeline) + [DebugColor(DebugColor.Orange)] + public sealed class EcsPreInitRunner : EcsRunner, IEcsPreInitSystem { #if DEBUG && !DISABLE_DEBUG - for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + private EcsProfilerMarker[] _markers; +#endif + public void PreInit(EcsPipeline pipeline) { - using (_markers[i].Auto()) - targets[i].PreInit(pipeline); - } +#if DEBUG && !DISABLE_DEBUG + for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + { + using (_markers[i].Auto()) + targets[i].PreInit(pipeline); + } #else foreach (var item in targets) item.PreInit(pipeline); #endif - } + } #if DEBUG && !DISABLE_DEBUG - protected override void OnSetup() - { - _markers = new EcsProfilerMarker[targets.Length]; - for (int i = 0; i < targets.Length; i++) + protected override void OnSetup() { - _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(PreInit)}")); + _markers = new EcsProfilerMarker[targets.Length]; + for (int i = 0; i < targets.Length; i++) + { + _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(PreInit)}")); + } } +#endif } -#endif - } - public sealed class EcsInitRunner : EcsRunner, IEcsInitSystem - { -#if DEBUG && !DISABLE_DEBUG - private EcsProfilerMarker[] _markers; -#endif - public void Init(EcsPipeline pipeline) + [DebugColor(DebugColor.Orange)] + public sealed class EcsInitRunner : EcsRunner, IEcsInitSystem { #if DEBUG && !DISABLE_DEBUG - for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + private EcsProfilerMarker[] _markers; +#endif + public void Init(EcsPipeline pipeline) { - using (_markers[i].Auto()) - targets[i].Init(pipeline); - } +#if DEBUG && !DISABLE_DEBUG + for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + { + using (_markers[i].Auto()) + targets[i].Init(pipeline); + } #else foreach (var item in targets) item.Init(pipeline); #endif - } + } #if DEBUG && !DISABLE_DEBUG - protected override void OnSetup() - { - _markers = new EcsProfilerMarker[targets.Length]; - for (int i = 0; i < targets.Length; i++) + protected override void OnSetup() { - _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Init)}")); + _markers = new EcsProfilerMarker[targets.Length]; + for (int i = 0; i < targets.Length; i++) + { + _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Init)}")); + } } +#endif } -#endif - } - public sealed class EcsRunRunner : EcsRunner, IEcsRunSystem - { -#if DEBUG && !DISABLE_DEBUG - private EcsProfilerMarker[] _markers; -#endif - public void Run(EcsPipeline pipeline) + [DebugColor(DebugColor.Orange)] + public sealed class EcsRunRunner : EcsRunner, IEcsRunSystem { #if DEBUG && !DISABLE_DEBUG - for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + private EcsProfilerMarker[] _markers; +#endif + public void Run(EcsPipeline pipeline) { - using (_markers[i].Auto()) - targets[i].Run(pipeline); +#if DEBUG && !DISABLE_DEBUG + for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + { + using (_markers[i].Auto()) + targets[i].Run(pipeline); - } + } #else foreach (var item in targets) item.Run(pipeline); #endif - } + } #if DEBUG && !DISABLE_DEBUG - protected override void OnSetup() - { - _markers = new EcsProfilerMarker[targets.Length]; - for (int i = 0; i < targets.Length; i++) + protected override void OnSetup() { - _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Run)}")); + _markers = new EcsProfilerMarker[targets.Length]; + for (int i = 0; i < targets.Length; i++) + { + _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Run)}")); + } } +#endif } -#endif - } - public sealed class EcsDestroyRunner : EcsRunner, IEcsDestroySystem - { -#if DEBUG && !DISABLE_DEBUG - private EcsProfilerMarker[] _markers; -#endif - public void Destroy(EcsPipeline pipeline) + [DebugColor(DebugColor.Orange)] + public sealed class EcsDestroyRunner : EcsRunner, IEcsDestroySystem { #if DEBUG && !DISABLE_DEBUG - for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + private EcsProfilerMarker[] _markers; +#endif + public void Destroy(EcsPipeline pipeline) { - using (_markers[i].Auto()) - targets[i].Destroy(pipeline); - } +#if DEBUG && !DISABLE_DEBUG + for (int i = 0; i < targets.Length && targets.Length <= _markers.Length; i++) + { + using (_markers[i].Auto()) + targets[i].Destroy(pipeline); + } #else foreach (var item in targets) item.Destroy(pipeline); #endif - } + } #if DEBUG && !DISABLE_DEBUG - protected override void OnSetup() - { - _markers = new EcsProfilerMarker[targets.Length]; - for (int i = 0; i < targets.Length; i++) + protected override void OnSetup() { - _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Destroy)}")); + _markers = new EcsProfilerMarker[targets.Length]; + for (int i = 0; i < targets.Length; i++) + { + _markers[i] = new EcsProfilerMarker(EcsDebug.RegisterMark($"EcsRunner.{targets[i].GetType().Name}.{nameof(Destroy)}")); + } } - } #endif + } } } diff --git a/src/Builtin/InjectSystem.cs b/src/Builtin/InjectSystem.cs index 99f9656..b547f58 100644 --- a/src/Builtin/InjectSystem.cs +++ b/src/Builtin/InjectSystem.cs @@ -39,52 +39,52 @@ namespace DCFApixels.DragonECS { public void PreInject(object obj); } - [DebugHide, DebugColor(DebugColor.Gray)] - public sealed class PreInjectRunner : EcsRunner, IEcsPreInject - { - void IEcsPreInject.PreInject(object obj) - { - foreach (var item in targets) item.PreInject(obj); - } - } - public interface IEcsInject : IEcsSystem { public void Inject(T obj); } - - [DebugHide, DebugColor(DebugColor.Gray)] - public sealed class InjectRunner : EcsRunner>, IEcsInject - { - private IEcsPreInject _preInjectchache; - void IEcsInject.Inject(T obj) - { - _preInjectchache.PreInject(obj); - foreach (var item in targets) item.Inject(obj); - } - - protected override void OnSetup() - { - _preInjectchache = Source.GetRunner(); - } - } - public interface IEcsPreInitInjectCallbacks : IEcsSystem { public void OnPreInitInjectionBefore(); public void OnPreInitInjectionAfter(); } - [DebugHide, DebugColor(DebugColor.Gray)] - public sealed class InjectCallbacksRunner : EcsRunner, IEcsPreInitInjectCallbacks + namespace Internal { - public void OnPreInitInjectionAfter() + [DebugHide, DebugColor(DebugColor.Gray)] + public sealed class PreInjectRunner : EcsRunner, IEcsPreInject { - foreach (var item in targets) item.OnPreInitInjectionAfter(); + void IEcsPreInject.PreInject(object obj) + { + foreach (var item in targets) item.PreInject(obj); + } } - public void OnPreInitInjectionBefore() + [DebugHide, DebugColor(DebugColor.Gray)] + public sealed class InjectRunner : EcsRunner>, IEcsInject { - foreach (var item in targets) item.OnPreInitInjectionBefore(); + private IEcsPreInject _preInjectchache; + void IEcsInject.Inject(T obj) + { + _preInjectchache.PreInject(obj); + foreach (var item in targets) item.Inject(obj); + } + + protected override void OnSetup() + { + _preInjectchache = Source.GetRunner(); + } + } + [DebugHide, DebugColor(DebugColor.Gray)] + public sealed class InjectCallbacksRunner : EcsRunner, IEcsPreInitInjectCallbacks + { + public void OnPreInitInjectionAfter() + { + foreach (var item in targets) item.OnPreInitInjectionAfter(); + } + public void OnPreInitInjectionBefore() + { + foreach (var item in targets) item.OnPreInitInjectionBefore(); + } } } diff --git a/src/Builtin/WorldRunners.cs b/src/Builtin/WorldRunners.cs index 72d66c8..57136c2 100644 --- a/src/Builtin/WorldRunners.cs +++ b/src/Builtin/WorldRunners.cs @@ -15,28 +15,34 @@ namespace DCFApixels.DragonECS public void OnComponentDel(int entityID); } public interface IEcsComponentLifecycle : IEcsComponentAdd, IEcsComponentWrite, IEcsComponentDel { } - public sealed class EcsEntityAddComponentRunner : EcsRunner, IEcsComponentAdd - { - public void OnComponentAdd(int entityID) - { - foreach (var item in targets) item.OnComponentAdd(entityID); - } - } - public sealed class EcsEntityChangeComponentRunner : EcsRunner, IEcsComponentWrite - { - public void OnComponentWrite(int entityID) - { - foreach (var item in targets) item.OnComponentWrite(entityID); - } - } - public sealed class EcsEntityDelComponentRunner : EcsRunner, IEcsComponentDel - { - public void OnComponentDel(int entityID) - { - foreach (var item in targets) item.OnComponentDel(entityID); - } - } + namespace Internal + { + [DebugColor(DebugColor.Orange)] + public sealed class EcsEntityAddComponentRunner : EcsRunner, IEcsComponentAdd + { + public void OnComponentAdd(int entityID) + { + foreach (var item in targets) item.OnComponentAdd(entityID); + } + } + [DebugColor(DebugColor.Orange)] + public sealed class EcsEntityChangeComponentRunner : EcsRunner, IEcsComponentWrite + { + public void OnComponentWrite(int entityID) + { + foreach (var item in targets) item.OnComponentWrite(entityID); + } + } + [DebugColor(DebugColor.Orange)] + public sealed class EcsEntityDelComponentRunner : EcsRunner, IEcsComponentDel + { + public void OnComponentDel(int entityID) + { + foreach (var item in targets) item.OnComponentDel(entityID); + } + } + } public interface IEcsEntityCreate : IEcsSystem { @@ -47,21 +53,26 @@ namespace DCFApixels.DragonECS public void OnEntityDestroy(EcsEntity entity); } public interface IEcsEntityLifecycle : IEcsEntityCreate, IEcsEntityDestroy { } - public sealed class EcsEntityCreateRunner : EcsRunner, IEcsEntityCreate - { - public void OnEntityCreate(EcsEntity entity) - { - foreach (var item in targets) item.OnEntityCreate(entity); - } - } - public sealed class EcsEntityDestroyRunner : EcsRunner, IEcsEntityDestroy - { - public void OnEntityDestroy(EcsEntity entity) - { - foreach (var item in targets) item.OnEntityDestroy(entity); - } - } + namespace Internal + { + [DebugColor(DebugColor.Orange)] + public sealed class EcsEntityCreateRunner : EcsRunner, IEcsEntityCreate + { + public void OnEntityCreate(EcsEntity entity) + { + foreach (var item in targets) item.OnEntityCreate(entity); + } + } + [DebugColor(DebugColor.Orange)] + public sealed class EcsEntityDestroyRunner : EcsRunner, IEcsEntityDestroy + { + public void OnEntityDestroy(EcsEntity entity) + { + foreach (var item in targets) item.OnEntityDestroy(entity); + } + } + } public interface IEcsWorldCreate : IEcsSystem { @@ -72,18 +83,24 @@ namespace DCFApixels.DragonECS public void OnWorldDestroy(EcsWorld world); } public interface IEcsWorldLifecycle : IEcsWorldCreate, IEcsWorldDestroy { } - public sealed class EcsWorldCreateRunner : EcsRunner, IEcsWorldCreate + + namespace Internal { - public void OnWorldCreate(EcsWorld world) + [DebugColor(DebugColor.Orange)] + public sealed class EcsWorldCreateRunner : EcsRunner, IEcsWorldCreate { - foreach (var item in targets) item.OnWorldCreate(world); + public void OnWorldCreate(EcsWorld world) + { + foreach (var item in targets) item.OnWorldCreate(world); + } } - } - public sealed class EcsWorldDestryRunner : EcsRunner, IEcsWorldDestroy - { - public void OnWorldDestroy(EcsWorld world) + [DebugColor(DebugColor.Orange)] + public sealed class EcsWorldDestryRunner : EcsRunner, IEcsWorldDestroy { - foreach (var item in targets) item.OnWorldDestroy(world); + public void OnWorldDestroy(EcsWorld world) + { + foreach (var item in targets) item.OnWorldDestroy(world); + } } } }