untrack destroyed entities
							parent
							
								
									936b97c4ec
								
							
						
					
					
						commit
						05fa578652
					
				|  | @ -718,5 +718,10 @@ namespace Encompass | |||
|                 withMask.Not() | ||||
|             ); | ||||
|         } | ||||
| 
 | ||||
|         internal void RegisterDestroyedEntity(Entity entity) | ||||
|         { | ||||
|             _trackedEntities.Remove(entity); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -64,10 +64,11 @@ namespace Encompass | |||
|             entitiesMarkedForDestroy.Add(entity); | ||||
|         } | ||||
| 
 | ||||
|         public void DestroyMarkedEntities() | ||||
|         public void DestroyMarkedEntities(IEnumerable<Engine> engines) | ||||
|         { | ||||
|             foreach (var entity in entitiesMarkedForDestroy) | ||||
|             { | ||||
|                 foreach (var engine in engines) { engine.RegisterDestroyedEntity(entity); } | ||||
|                 componentManager.MarkAllComponentsOnEntityForRemoval(entity); | ||||
|                 IDs.Remove(entity.ID); | ||||
|                 idManager.Free(entity.ID); | ||||
|  |  | |||
|  | @ -70,7 +70,6 @@ namespace Encompass | |||
|                     foreach (var engine in _componentTypesToEngines[componentType]) | ||||
|                     { | ||||
|                         _pairsToCheck.Add((entity, engine)); | ||||
|                         // engine.CheckTrackEntity(entity); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | @ -83,7 +82,6 @@ namespace Encompass | |||
|                     foreach (var engine in _componentTypesToEngines[componentType]) | ||||
|                     { | ||||
|                         _pairsToCheck.Add((entity, engine)); | ||||
|                         //engine.CheckUntrackEntity(entity); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  |  | |||
|  | @ -60,7 +60,7 @@ namespace Encompass | |||
|             } | ||||
| 
 | ||||
|             messageManager.ClearMessages(); | ||||
|             entityManager.DestroyMarkedEntities(); | ||||
|             entityManager.DestroyMarkedEntities(enginesInOrder); | ||||
| 
 | ||||
|             componentManager.WriteComponents(); | ||||
|             componentManager.RemoveMarkedComponents(); | ||||
|  |  | |||
|  | @ -48,12 +48,12 @@ namespace Encompass | |||
|             this.entityCapacity = entityCapacity; | ||||
|             drawLayerManager = new DrawLayerManager(typeToIndex); | ||||
|             timeManager = new TimeManager(); | ||||
|             trackingManager = new TrackingManager(); | ||||
|             componentUpdateManager = new ComponentUpdateManager(typeToIndex); | ||||
|             componentManager = new ComponentManager(drawLayerManager, componentUpdateManager, typeToIndex); | ||||
|             messageManager = new MessageManager(timeManager); | ||||
|             entityManager = new EntityManager(componentManager, entityCapacity); | ||||
|             renderManager = new RenderManager(entityManager, drawLayerManager); | ||||
|             trackingManager = new TrackingManager(); | ||||
| 
 | ||||
|             startingComponentStoreForComponentManager = new ComponentStore(typeToIndex); | ||||
|             startingComponentStoreForComponentUpdateManager = new ComponentStore(typeToIndex); | ||||
|  | @ -419,9 +419,9 @@ namespace Encompass | |||
|             var dummyTimeManager = new TimeManager(); | ||||
|             var dummyMessageManager = new MessageManager(dummyTimeManager); | ||||
|             var dummyDrawLayerManager = new DrawLayerManager(typeToIndex); | ||||
|             var dummyTrackingManager = new TrackingManager(); | ||||
|             var dummyComponentUpdateManager = new ComponentUpdateManager(typeToIndex); | ||||
|             var dummyComponentManager = new ComponentManager(dummyDrawLayerManager, dummyComponentUpdateManager, typeToIndex); | ||||
|             var dummyTrackingManager = new TrackingManager(); | ||||
|             var dummyEntityManager = new EntityManager(dummyComponentManager, entityCapacity); | ||||
|             var dummyRenderManager = new RenderManager(dummyEntityManager, dummyDrawLayerManager); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue