Exemple #1
0
        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());
            }
        }
Exemple #2
0
        public SerializeTest()
        {
            EcsComponentType <MiniEcsComponentA> .Register();

            EcsComponentType <MiniEcsComponentB> .Register();

            EcsComponentType <MiniEcsComponentC> .Register();

            EcsComponentType <MiniEcsComponentD> .Register();

            _filter = new EcsFilter().AllOf <MiniEcsComponentA, MiniEcsComponentB>();
        }
Exemple #3
0
        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
            });
        }
Exemple #4
0
    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());
    }