use of org.terasology.engine.entitySystem.entity.EntityBuilder in project Terasology by MovingBlocks.
the class VisualCharacterSystemTest method setup.
@BeforeEach
public void setup() throws Exception {
this.system = new VisualCharacterSystem();
Context context = new ContextImpl();
this.localPlayer = Mockito.mock(LocalPlayer.class);
context.put(LocalPlayer.class, localPlayer);
Mockito.doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
return clientEntityReturnedByLocalPlayer;
}
}).when(localPlayer).getClientEntity();
this.entityManager = Mockito.mock(EntityManager.class);
Mockito.doReturn(Mockito.mock(EntityBuilder.class)).when(entityManager).newBuilder();
context.put(EntityManager.class, this.entityManager);
InjectionHelper.inject(system, context);
system.setCreateAndAttachVisualEntityStrategy((entityBuilder, characterEntity) -> Mockito.mock(EntityRef.class));
}
use of org.terasology.engine.entitySystem.entity.EntityBuilder in project Terasology by MovingBlocks.
the class NetworkOwnershipTest method testClientSentInitialForOwnershipChain.
@Test
public void testClientSentInitialForOwnershipChain() {
NetworkComponent netCompA = new NetworkComponent();
netCompA.replicateMode = NetworkComponent.ReplicateMode.OWNER;
EntityRef entityA = entityManager.create(netCompA);
EntityBuilder builder = entityManager.newBuilder();
NetworkComponent netCompB = builder.addComponent(new NetworkComponent());
netCompB.replicateMode = NetworkComponent.ReplicateMode.OWNER;
builder.setOwner(entityA);
EntityRef entityB = builder.build();
networkSystem.registerNetworkEntity(entityA);
networkSystem.registerNetworkEntity(entityB);
connectClient();
verify(client, times(0)).setNetInitial(entityA.getComponent(NetworkComponent.class).getNetworkId());
verify(client, times(0)).setNetInitial(entityB.getComponent(NetworkComponent.class).getNetworkId());
entityA.setOwner(clientEntity);
networkSystem.updateOwnership(entityA);
verify(client, times(1)).setNetInitial(entityA.getComponent(NetworkComponent.class).getNetworkId());
verify(client, times(1)).setNetInitial(entityB.getComponent(NetworkComponent.class).getNetworkId());
}
use of org.terasology.engine.entitySystem.entity.EntityBuilder in project Terasology by MovingBlocks.
the class WorldSerializerTest method testNotPersistedIfFlagedOtherwise.
@Test
public void testNotPersistedIfFlagedOtherwise() throws Exception {
EngineEntityManager entityManager = context.get(EngineEntityManager.class);
EntityBuilder entityBuilder = entityManager.newBuilder();
PrefabSerializer prefabSerializer = new PrefabSerializer(entityManager.getComponentLibrary(), entityManager.getTypeSerializerLibrary());
WorldSerializer worldSerializer = new WorldSerializerImpl(entityManager, prefabSerializer);
entityBuilder.setPersistent(false);
// just used to express that an entity got created
@SuppressWarnings("unused") EntityRef entity = entityBuilder.build();
EntityData.GlobalStore worldData = worldSerializer.serializeWorld(false);
assertEquals(0, worldData.getEntityCount());
}
use of org.terasology.engine.entitySystem.entity.EntityBuilder in project Terasology by MovingBlocks.
the class PojoEntityManager method createEntityWithId.
@Override
public EntityRef createEntityWithId(long id, Iterable<Component> components) {
EntityBuilder builder = newBuilder();
builder.setId(id);
builder.addComponents(components);
return builder.build();
}
use of org.terasology.engine.entitySystem.entity.EntityBuilder in project Terasology by MovingBlocks.
the class PojoEntityPool method newBuilder.
@Override
public EntityBuilder newBuilder(Prefab prefab) {
EntityBuilder builder = newBuilder();
builder.addPrefab(prefab);
return builder;
}
Aggregations