update EcsRootUnity

This commit is contained in:
Mikhail 2024-10-19 00:45:22 +08:00
parent d5f6295e59
commit b891d1e05a
3 changed files with 18 additions and 8 deletions

View File

@ -1,4 +1,6 @@
using System.Collections.Generic;
using DCFApixels.DragonECS.Unity;
using DCFApixels.DragonECS.Unity.Internal;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
@ -9,6 +11,8 @@ namespace DCFApixels.DragonECS
[AddComponentMenu(EcsConsts.FRAMEWORK_NAME + "/" + nameof(EcsRootUnity), 30)]
public class EcsRootUnity : MonoBehaviour
{
[SerializeField]
private bool _enablePipelineDebug = true;
[SerializeField]
private ScriptablePipelineTemplateBase[] _scriptableTemplates;
[SerializeField]
@ -46,6 +50,13 @@ namespace DCFApixels.DragonECS
if (template == null) { continue; }
pipelineBuilder.Add(template);
}
#if UNITY_EDITOR
if (_enablePipelineDebug)
{
pipelineBuilder.Layers.Insert(EcsConsts.POST_END_LAYER, EcsUnityConsts.DEBUG_LAYER);
pipelineBuilder.AddUnique(new PipelineMonitorSystem(), EcsUnityConsts.DEBUG_LAYER);
}
#endif
_pipeline = pipelineBuilder.BuildAndInit();
}

View File

@ -7,22 +7,21 @@ namespace DCFApixels.DragonECS
[MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.DEBUG_GROUP)]
[MetaDescription(EcsConsts.AUTHOR, "...")]
[MetaID("1D16B980920108B62A0971E4058A3E01")]
public sealed class DebugModule : IEcsModule
public sealed class UnityDebugModule : IEcsModule
{
public const string DEBUG_LAYER = EcsUnityConsts.DEBUG_LAYER;
public EcsWorld[] _worlds;
public DebugModule(params EcsWorld[] worlds)
public UnityDebugModule(params EcsWorld[] worlds)
{
_worlds = worlds;
}
void IEcsModule.Import(EcsPipeline.Builder b)
{
UnityDebugService.Activate();
b.Layers.Insert(EcsConsts.POST_END_LAYER, DEBUG_LAYER);
b.AddUnique(new PipelineMonitorSystem(), DEBUG_LAYER);
b.Layers.Insert(EcsConsts.POST_END_LAYER, EcsUnityConsts.DEBUG_LAYER);
b.AddUnique(new PipelineMonitorSystem(), EcsUnityConsts.DEBUG_LAYER);
foreach (var world in _worlds)
{
b.Add(new WorldMonitorSystem(world), DEBUG_LAYER);
b.Add(new WorldMonitorSystem(world), EcsUnityConsts.DEBUG_LAYER);
}
}
}
@ -31,7 +30,7 @@ namespace DCFApixels.DragonECS
{
public static EcsPipeline.Builder AddUnityDebug(this EcsPipeline.Builder self, params EcsWorld[] worlds)
{
self.AddModule(new DebugModule(worlds));
self.AddModule(new UnityDebugModule(worlds));
return self;
}
}