DragonECS-Unity/src/DebugUtils/UnityDebugModule.cs

38 lines
1.2 KiB
C#
Raw Normal View History

2024-06-25 23:20:40 +08:00
using DCFApixels.DragonECS.Unity;
using DCFApixels.DragonECS.Unity.Internal;
2024-03-10 04:56:29 +08:00
namespace DCFApixels.DragonECS
2023-04-26 16:54:27 +08:00
{
2024-10-12 21:03:19 +08:00
[MetaColor(MetaColor.DragonRose)]
[MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.DEBUG_GROUP)]
[MetaDescription(EcsConsts.AUTHOR, "...")]
[MetaID("1D16B980920108B62A0971E4058A3E01")]
2024-10-19 00:45:22 +08:00
public sealed class UnityDebugModule : IEcsModule
2023-04-26 16:54:27 +08:00
{
public EcsWorld[] _worlds;
2024-10-19 00:45:22 +08:00
public UnityDebugModule(params EcsWorld[] worlds)
2023-04-26 16:54:27 +08:00
{
_worlds = worlds;
}
2023-05-30 18:31:03 +08:00
void IEcsModule.Import(EcsPipeline.Builder b)
2023-04-26 16:54:27 +08:00
{
2024-03-10 04:56:29 +08:00
UnityDebugService.Activate();
2024-10-19 00:45:22 +08:00
b.Layers.Insert(EcsConsts.POST_END_LAYER, EcsUnityConsts.DEBUG_LAYER);
b.AddUnique(new PipelineMonitorSystem(), EcsUnityConsts.DEBUG_LAYER);
2023-04-26 16:54:27 +08:00
foreach (var world in _worlds)
{
2024-10-19 00:45:22 +08:00
b.Add(new WorldMonitorSystem(world), EcsUnityConsts.DEBUG_LAYER);
2023-04-26 16:54:27 +08:00
}
}
}
2024-03-10 04:56:29 +08:00
public static class DebugModuleExt
{
public static EcsPipeline.Builder AddUnityDebug(this EcsPipeline.Builder self, params EcsWorld[] worlds)
{
2024-10-19 00:45:22 +08:00
self.AddModule(new UnityDebugModule(worlds));
2024-03-10 04:56:29 +08:00
return self;
}
}
2023-04-26 16:54:27 +08:00
}