public void Setup() { EcsComponentType <MiniEcsComponentA> .Register(); EcsComponentType <MiniEcsComponentB> .Register(); EcsComponentType <MiniEcsComponentC> .Register(); EcsComponentType <MiniEcsComponentD> .Register(); _world = new EcsWorld(); _entitasWorld = new Context <EntitasEntity>(4, () => new EntitasEntity()); for (int i = 0; i < 15000; ++i) { EntitasEntity entity = _entitasWorld.CreateEntity(); entity.AddComponent(0, new EntitasComponentA()); entity.AddComponent(1, new EntitasComponentB()); entity.AddComponent(3, new EntitasComponentD()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(0, new EntitasComponentA()); entity.AddComponent(2, new EntitasComponentC()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(1, new EntitasComponentB()); entity.AddComponent(3, new EntitasComponentD()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(1, new EntitasComponentB()); entity.AddComponent(3, new EntitasComponentD()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(1, new EntitasComponentB()); entity.AddComponent(2, new EntitasComponentC()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(0, new EntitasComponentA()); entity.AddComponent(1, new EntitasComponentB()); entity = _entitasWorld.CreateEntity(); entity.AddComponent(0, new EntitasComponentA()); entity.AddComponent(3, new EntitasComponentD()); _world.CreateEntity(new MiniEcsComponentA(), new MiniEcsComponentB(), new MiniEcsComponentD()); _world.CreateEntity(new MiniEcsComponentA(), new MiniEcsComponentC()); _world.CreateEntity(new MiniEcsComponentB(), new MiniEcsComponentD()); _world.CreateEntity(new MiniEcsComponentB(), new MiniEcsComponentD()); _world.CreateEntity(new MiniEcsComponentB(), new MiniEcsComponentC()); _world.CreateEntity(new MiniEcsComponentA(), new MiniEcsComponentB()); _world.CreateEntity(new MiniEcsComponentA(), new MiniEcsComponentD()); } }
public SerializeTest() { EcsComponentType <MiniEcsComponentA> .Register(); EcsComponentType <MiniEcsComponentB> .Register(); EcsComponentType <MiniEcsComponentC> .Register(); EcsComponentType <MiniEcsComponentD> .Register(); _filter = new EcsFilter().AllOf <MiniEcsComponentA, MiniEcsComponentB>(); }
public static void InitFilterWorld(TestContext testContext) { EcsComponentType <ComponentA> .Register(); EcsComponentType <ComponentB> .Register(); EcsComponentType <ComponentC> .Register(); EcsComponentType <ComponentD> .Register(); _world = new EcsWorld(); _entityABD = _world.CreateEntity(new ComponentA { Value = 1 }, new ComponentB { Value = 2 }, new ComponentD { Value = 3 }); _entityAC = _world.CreateEntity(new ComponentA { Value = 4 }, new ComponentC { Value = 5 }); _entityBD0 = _world.CreateEntity(new ComponentB { Value = 6 }, new ComponentD { Value = 7 }); _entityBD1 = _world.CreateEntity(new ComponentD { Value = 8 }, new ComponentB { Value = 8 }); _entityBC = _world.CreateEntity(new ComponentC { Value = 9 }, new ComponentB { Value = 10 }); _entityAB = _world.CreateEntity(new ComponentB { Value = 11 }, new ComponentA { Value = 12 }); _entityAD = _world.CreateEntity(new ComponentA { Value = 13 }, new ComponentD { Value = 14 }); }
private void Start() { EcsComponentType <TransformComponent> .Register(); EcsComponentType <RigBodyComponent> .Register(); EcsComponentType <ColliderComponent> .Register(); EcsComponentType <RigBodyStaticComponent> .Register(); EcsComponentType <BroadphaseRefComponent> .Register(); EcsComponentType <BroadphaseSAPComponent> .Register(); EcsComponentType <RayComponent> .Register(); EcsComponentType <HeroComponent> .Register(); EcsComponentType <CharacterComponent> .Register(); EcsComponentType <StaticRectComponent> .Register(); EcsComponentType <StaticCircleComponent> .Register(); EcsComponentType <BlueCircleComponent> .Register(); EcsComponentType <YellowCircleComponent> .Register(); _world = new EcsWorld(); _engine = new EcsSystemGroup(); _engine.AddSystem(new BroadphaseInitSystem()); _engine.AddSystem(new IntegrateVelocitySystem()); _engine.AddSystem(new BroadphaseUpdateSystem()); _engine.AddSystem(new BroadphaseCalculatePairSystem(_collisionMatrix)); _engine.AddSystem(new ResolveCollisionsSystem()); _engine.AddSystem(new RaytracingSystem(_collisionMatrix)); _engine.AddSystem(new BroadphaseClearPairSystem()); _engine.AddSystem(new CreatorSystem(this, _collisionMatrix)); _engine.AddSystem(new InputSystem()); _engine.AddSystem(new PresenterSystem()); }