diff --git a/src/EcsWorld.cs b/src/EcsWorld.cs index b80f932..979cdac 100644 --- a/src/EcsWorld.cs +++ b/src/EcsWorld.cs @@ -70,7 +70,7 @@ namespace DCFApixels.DragonECS public EcsReadonlyGroup Entities => _allEntites.Readonly; #endregion - #region Constructors + #region Constructors/Destroy public EcsWorld(EcsPipeline pipline) { uniqueID = (short)_worldIdDispenser.GetFree(); @@ -103,11 +103,23 @@ namespace DCFApixels.DragonECS _pipeline.GetRunner>().Inject(this); _pipeline.GetRunner().OnWorldCreate(this); } - protected void Realeze() + public void Destroy() { + _entityDispenser = null; + //_denseEntities = null; + _gens = null; + _pools = null; + _nullPool = null; + _queries = null; + Worlds[uniqueID] = null; _worldIdDispenser.Release(uniqueID); } + public void DestryWithPipeline() + { + Destroy(); + _pipeline.Destroy(); + } #endregion #region GetPool @@ -231,24 +243,6 @@ namespace DCFApixels.DragonECS } #endregion - #region Destroy - public void Destroy() - { - _entityDispenser = null; - //_denseEntities = null; - _gens = null; - _pools = null; - _nullPool = null; - _queries = null; - Realeze(); - } - public void DestryWithPipeline() - { - Destroy(); - _pipeline.Destroy(); - } - #endregion - #region Groups void IEcsTable.RegisterGroup(EcsGroup group) => RegisterGroup(group); internal void RegisterGroup(EcsGroup group)