Search in sources :

Example 21 with Prefab

use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.

the class PrefabTest method testPrefabTransitiveInheritance.

@Test
public void testPrefabTransitiveInheritance() {
    Prefab prefab = prefabManager.getPrefab("unittest:multilevelInheritance");
    assertTrue(prefab.hasComponent(StringComponent.class));
}
Also used : StringComponent(org.terasology.unittest.stubs.StringComponent) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) Test(org.junit.jupiter.api.Test)

Example 22 with Prefab

use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.

the class PrefabTest method testPrefabWithCollectionOfMappedContainers.

@Test
public void testPrefabWithCollectionOfMappedContainers() {
    Prefab prefab = prefabManager.getPrefab("unittest:withCollectionOfMappedContainers");
    MappedContainerComponent mappedContainer = prefab.getComponent(MappedContainerComponent.class);
    assertNotNull(mappedContainer);
    assertNotNull(mappedContainer.containers);
    assertEquals(1, mappedContainer.containers.size());
    MappedContainerComponent.Cont cont = mappedContainer.containers.iterator().next();
    assertNotNull(cont);
    assertEquals("a", cont.value);
}
Also used : MappedContainerComponent(org.terasology.unittest.stubs.MappedContainerComponent) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) Test(org.junit.jupiter.api.Test)

Example 23 with Prefab

use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.

the class PrefabTest method testGetSimplePrefab.

@Test
public void testGetSimplePrefab() {
    Prefab prefab = prefabManager.getPrefab("unittest:simple");
    assertNotNull(prefab);
    assertEquals("unittest:simple", prefab.getName());
}
Also used : Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) Test(org.junit.jupiter.api.Test)

Example 24 with Prefab

use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.

the class BaseEntityRef method toString.

@Override
public String toString() {
    Prefab parent = getParentPrefab();
    StringBuilder builder = new StringBuilder();
    builder.append("EntityRef{id = ");
    builder.append(getId());
    NetworkComponent networkComponent = getComponent(NetworkComponent.class);
    if (networkComponent != null) {
        builder.append(", netId = ");
        builder.append(networkComponent.getNetworkId());
    }
    if (parent != null) {
        builder.append(", prefab = '");
        builder.append(parent.getUrn());
        builder.append("'");
    }
    builder.append("}");
    return builder.toString();
}
Also used : NetworkComponent(org.terasology.engine.network.NetworkComponent) Prefab(org.terasology.engine.entitySystem.prefab.Prefab)

Example 25 with Prefab

use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.

the class EntityBuilder method addPrefab.

/**
 * Adds all of the components from a prefab to this builder
 *
 * @param prefabName the name of the prefab to add
 * @return whether the prefab was successfully added
 */
public boolean addPrefab(String prefabName) {
    if (prefabName != null && !prefabName.isEmpty()) {
        Prefab prefab = entityManager.getPrefabManager().getPrefab(prefabName);
        if (prefab == null) {
            logger.warn("Unable to instantiate unknown prefab: \"{}\"", prefabName);
            return false;
        }
        addPrefab(prefab);
        return true;
    } else {
        return false;
    }
}
Also used : Prefab(org.terasology.engine.entitySystem.prefab.Prefab)

Aggregations

Prefab (org.terasology.engine.entitySystem.prefab.Prefab)38 PojoPrefab (org.terasology.engine.entitySystem.prefab.internal.PojoPrefab)13 Test (org.junit.jupiter.api.Test)10 EntityRef (org.terasology.engine.entitySystem.entity.EntityRef)10 Component (org.terasology.gestalt.entitysystem.component.Component)9 ResourceUrn (org.terasology.gestalt.assets.ResourceUrn)8 PrefabData (org.terasology.engine.entitySystem.prefab.PrefabData)6 StringComponent (org.terasology.unittest.stubs.StringComponent)6 BeforeEach (org.junit.jupiter.api.BeforeEach)4 EntityBuilder (org.terasology.engine.entitySystem.entity.EntityBuilder)4 ClientComponent (org.terasology.engine.network.ClientComponent)4 NetworkComponent (org.terasology.engine.network.NetworkComponent)4 NetworkSystem (org.terasology.engine.network.NetworkSystem)4 ModuleManager (org.terasology.engine.core.module.ModuleManager)3 EngineEntityManager (org.terasology.engine.entitySystem.entity.internal.EngineEntityManager)3 LocationComponent (org.terasology.engine.logic.location.LocationComponent)3 ArrayList (java.util.ArrayList)2 Optional (java.util.Optional)2 BeforeDeactivateComponent (org.terasology.engine.entitySystem.entity.lifecycleEvents.BeforeDeactivateComponent)2 OnActivatedComponent (org.terasology.engine.entitySystem.entity.lifecycleEvents.OnActivatedComponent)2