public void ensures_same_deterministic_order_when_getting_entities_after_DestroyAllEntities() { var context = new Context(1); const int numEntities = 10; for (int i = 0; i < numEntities; i++) { context.CreateEntity(); } var order1 = new int[numEntities]; var entities1 = context.GetEntities(); for (int i = 0; i < numEntities; i++) { order1[i] = entities1[i].creationIndex; } context.DestroyAllEntities(); context.ResetCreationIndex(); for (int i = 0; i < numEntities; i++) { context.CreateEntity(); } var order2 = new int[numEntities]; var entities2 = context.GetEntities(); for (int i = 0; i < numEntities; i++) { order2[i] = entities2[i].creationIndex; } for (int i = 0; i < numEntities; i++) { var index1 = order1[i]; var index2 = order2[i]; Assert.AreEqual(index1, index2); } }
internal void End() { // // mmGame calls End() when scene changes, before new scene is created // EntitySystems.TearDown(); EntitySystems.ClearReactiveSystems(); EntityContext.DestroyAllEntities(); //SceneSystems.TearDown(); //SceneContext.DestroyAllEntities(); }