From 5b9fbbd62a0a4b33fb23a0238889f5d9fa91ba68 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Thu, 13 Mar 2025 11:19:02 +0800 Subject: [PATCH] add EcsAspect events --- src/EcsAspect.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/EcsAspect.cs b/src/EcsAspect.cs index 7d1a87c..8a76f7c 100644 --- a/src/EcsAspect.cs +++ b/src/EcsAspect.cs @@ -127,7 +127,6 @@ namespace DCFApixels.DragonECS internal EcsWorld _source; internal EcsMask _mask; private bool _isBuilt = false; - //private IEcsPool[] _pools; #region Properties public EcsMask Mask @@ -232,6 +231,7 @@ namespace DCFApixels.DragonECS builtinAspect._source = world; builtinAspect.Init(builder); } + OnInit(newAspect, builder); //Build Mask if (staticMask == null) @@ -253,6 +253,9 @@ namespace DCFApixels.DragonECS } _constructorBuildersStackIndex--; + + OnAfterInit(newAspect, mask); + return (newAspect, mask); } #endregion @@ -430,6 +433,14 @@ namespace DCFApixels.DragonECS } } #endregion + + #region Events + public delegate void OnInitApectHandler(object aspect, Builder builder); + public static event OnInitApectHandler OnInit = delegate { }; + + public delegate void OnBuildApectHandler(object aspect, EcsMask mask); + public static event OnBuildApectHandler OnAfterInit = delegate { }; + #endregion } #region EcsAspect.Builder.Extensions