private void Clear() { foreach (var item in _enemies) { if (item != null) { Destroy(item.gameObject); } } _enemies.Clear(); foreach (var item in _units) { if (item != null) { Destroy(item.gameObject); } } _units.Clear(); foreach (var item in _buildings) { if (item != null) { Destroy(item.gameObject); } } _buildings.Clear(); foreach (var item in _resources) { if (item != null) { Destroy(item.gameObject); } } _resources.Clear(); foreach (var item in _enemyBuildings) { if (item != null) { Destroy(item.gameObject); } } _enemyBuildings.Clear(); WorldBuilder.Clear(); }
public void NotificationsTests() { // @formatter:off var world = new WorldBuilder() .AddCoreFeature() .AddFeature("TestNotifications") .DependsOn() .Feature(CoreFeature.Name) .End() .Components <Game>() .Add <EmptyTestComponent>() .End() .ComponentNotifications <Game>() .AddAllNotifications <EmptyTestComponent>() .End() .End() .Build(); // @formatter:on var log = new List <string>(); world.Setup(); var context = world.Contexts.Get <Game>(); var entity = context.CreateEntity(); entity.AddComponentListener(new EmptyTestComponentNotificationsListener(log)); entity.Add(new EmptyTestComponent()); entity.Replace(new EmptyTestComponent()); entity.Remove <EmptyTestComponent>(); world.Update(); world.Cleanup(); world.Clear(); CollectionAssert.AreEqual(new[] { "Added", "Removed", "Replaced" }, log); }