protected override void Prepare() { IterationCount = 1000; var entityManager = new EntityManager(); var entityType1 = new ComponentType[] { ComponentType.Create <StructComponent>(), ComponentType.Create <Struct2Component>(), ComponentType.Create <ClassComponent>(), }; var entityType2 = new ComponentType[] { ComponentType.Create <Struct2Component>(), ComponentType.Create <ClassComponent>(), }; var entityType3 = new ComponentType[] { ComponentType.Create <Struct2Component>(), ComponentType.Create <StructComponent>() }; var classObjects = new ClassComponent[entityCount]; for (int i = classObjects.Length - 1; i >= 0; i--) { classObjects[i] = new ClassComponent(i); } for (var i = 0; i < entityCount; i++) { if (i % 3 == 0) { var e = entityManager.CreateEntity(entityType1); entityManager.SetComponent(e, classObjects[i]); } else if (i % 3 == 1) { var e = entityManager.CreateEntity(entityType2); entityManager.SetComponent(e, classObjects[i]); } else { entityManager.CreateEntity(entityType3); } } structGroup = entityManager.RegisterGroup(new StructGroup()); world = new World(); for (int i = 0; i < entityCount; i++) { world.Entities.Add(new Entity(i)); } world.Behaviours.Add(new EntityBehaviour()); }
protected override void Prepare() { IterationCount = 10000; classGroup = new ClassGroup[entityCount]; for (var i = entityCount - 1; i >= 0; i--) { classGroup[i] = new ClassGroup(); } structGroup = new StructGroup[entityCount]; updatableClass = new IUpdatable[entityCount]; for (var i = entityCount - 1; i >= 0; i--) { updatableClass[i] = new ClassGroup(); } updatableStruct = new IUpdatable[entityCount]; for (var i = entityCount - 1; i >= 0; i--) { updatableStruct[i] = new StructGroup(); } }