Search in sources :

Example 1 with OwnershipHelper

use of org.terasology.engine.entitySystem.entity.internal.OwnershipHelper in project Terasology by MovingBlocks.

the class OwnershipHelperTest method testListsOwnedEntities.

@Test
public void testListsOwnedEntities() {
    EntityRef ownedEntity = entityManager.create();
    OwnerComponent ownerComp = new OwnerComponent();
    ownerComp.child = ownedEntity;
    EntityRef ownerEntity = entityManager.create(ownerComp);
    OwnershipHelper helper = new OwnershipHelper(entityManager.getComponentLibrary());
    ArrayList<EntityRef> target = Lists.newArrayList(helper.listOwnedEntities(ownerEntity));
    assertEquals(target.size(), 1);
    assertEquals(target.get(0), ownedEntity);
}
Also used : OwnerComponent(org.terasology.unittest.stubs.OwnerComponent) OwnershipHelper(org.terasology.engine.entitySystem.entity.internal.OwnershipHelper) EntityRef(org.terasology.engine.entitySystem.entity.EntityRef) Test(org.junit.jupiter.api.Test)

Example 2 with OwnershipHelper

use of org.terasology.engine.entitySystem.entity.internal.OwnershipHelper in project Terasology by MovingBlocks.

the class NetworkSystemImpl method connectToEntitySystem.

@Override
public void connectToEntitySystem(EngineEntityManager newEntityManager, EventLibrary newEventLibrary, BlockEntityRegistry blockEntityRegistry) {
    if (this.entityManager != null) {
        this.entityManager.unsubscribe(this);
    }
    this.entityManager = newEntityManager;
    this.entityManager.subscribeForChanges(this);
    this.blockManager = context.get(BlockManager.class);
    this.ownershipHelper = new OwnershipHelper(newEntityManager.getComponentLibrary());
    this.storageManager = context.get(StorageManager.class);
    this.eventLibrary = newEventLibrary;
    this.componentLibrary = entityManager.getComponentLibrary();
    context.get(ComponentSystemManager.class).register(new NetworkEntitySystem(this), "engine:networkEntitySystem");
    TypeHandlerLibrary typeHandlerLibrary = entityManager.getTypeSerializerLibrary().copy();
    typeHandlerLibrary.addTypeHandler(EntityRef.class, new NetEntityRefTypeHandler(this, blockEntityRegistry));
    // TODO: Add network override types here (that use id lookup tables)
    eventSerializer = new EventSerializer(eventLibrary, typeHandlerLibrary);
    entitySerializer = new NetworkEntitySerializer(newEntityManager, entityManager.getComponentLibrary(), typeHandlerLibrary);
    entitySerializer.setComponentSerializeCheck(new NetComponentSerializeCheck());
    if (mode == NetworkMode.CLIENT) {
        entityManager.setEntityRefStrategy(new NetworkClientRefStrategy(this));
        applySerializationTables();
    }
    if (server != null) {
        server.connectToEntitySystem(newEntityManager, entitySerializer, eventSerializer, blockEntityRegistry);
    }
}
Also used : OwnershipHelper(org.terasology.engine.entitySystem.entity.internal.OwnershipHelper) BlockManager(org.terasology.engine.world.block.BlockManager) TypeHandlerLibrary(org.terasology.persistence.typeHandling.TypeHandlerLibrary) StorageManager(org.terasology.engine.persistence.StorageManager) NetworkEntitySerializer(org.terasology.engine.persistence.serializers.NetworkEntitySerializer) NetComponentSerializeCheck(org.terasology.engine.network.serialization.NetComponentSerializeCheck) NetEntityRefTypeHandler(org.terasology.engine.network.serialization.NetEntityRefTypeHandler) ComponentSystemManager(org.terasology.engine.core.ComponentSystemManager) EventSerializer(org.terasology.engine.persistence.serializers.EventSerializer)

Aggregations

OwnershipHelper (org.terasology.engine.entitySystem.entity.internal.OwnershipHelper)2 Test (org.junit.jupiter.api.Test)1 ComponentSystemManager (org.terasology.engine.core.ComponentSystemManager)1 EntityRef (org.terasology.engine.entitySystem.entity.EntityRef)1 NetComponentSerializeCheck (org.terasology.engine.network.serialization.NetComponentSerializeCheck)1 NetEntityRefTypeHandler (org.terasology.engine.network.serialization.NetEntityRefTypeHandler)1 StorageManager (org.terasology.engine.persistence.StorageManager)1 EventSerializer (org.terasology.engine.persistence.serializers.EventSerializer)1 NetworkEntitySerializer (org.terasology.engine.persistence.serializers.NetworkEntitySerializer)1 BlockManager (org.terasology.engine.world.block.BlockManager)1 TypeHandlerLibrary (org.terasology.persistence.typeHandling.TypeHandlerLibrary)1 OwnerComponent (org.terasology.unittest.stubs.OwnerComponent)1