Search in sources :

Example 16 with Prefab

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

the class PrefabTest method testPrefabWithListOfEnums.

@Test
public void testPrefabWithListOfEnums() {
    Prefab prefab = prefabManager.getPrefab("unittest:withListEnumContainer");
    ListOfEnumsComponent mappedContainer = prefab.getComponent(ListOfEnumsComponent.class);
    assertEquals(6, mappedContainer.elements.size());
    assertEquals(Side.TOP, mappedContainer.elements.get(0));
    assertEquals(Side.LEFT, mappedContainer.elements.get(1));
    assertEquals(Side.RIGHT, mappedContainer.elements.get(2));
    assertEquals(Side.FRONT, mappedContainer.elements.get(3));
    assertEquals(Side.BACK, mappedContainer.elements.get(4));
    assertEquals(Side.BOTTOM, mappedContainer.elements.get(5));
}
Also used : ListOfEnumsComponent(org.terasology.unittest.stubs.ListOfEnumsComponent) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) Test(org.junit.jupiter.api.Test)

Example 17 with Prefab

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

the class PrefabTest method testPrefabHasDefinedComponentsWithOrderedMap.

@Test
public void testPrefabHasDefinedComponentsWithOrderedMap() {
    Prefab prefab = prefabManager.getPrefab("unittest:withComponentContainingOrderedMap");
    assertTrue(prefab.hasComponent(OrderedMapTestComponent.class));
    OrderedMapTestComponent component = prefab.getComponent(OrderedMapTestComponent.class);
    assertNotNull(component);
    Map<String, Long> orderedMap = component.orderedMap;
    Set<String> keySet = orderedMap.keySet();
    List<String> keyList = new ArrayList<>(keySet);
    assertEquals(4, keyList.size());
    assertEquals("one", keyList.get(0));
    assertEquals("two", keyList.get(1));
    assertEquals("three", keyList.get(2));
    assertEquals("four", keyList.get(3));
    assertEquals(Long.valueOf(1), orderedMap.get("one"));
    assertEquals(Long.valueOf(2), orderedMap.get("two"));
    assertEquals(Long.valueOf(3), orderedMap.get("three"));
    assertEquals(Long.valueOf(4), orderedMap.get("four"));
}
Also used : ArrayList(java.util.ArrayList) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) OrderedMapTestComponent(org.terasology.unittest.stubs.OrderedMapTestComponent) Test(org.junit.jupiter.api.Test)

Example 18 with Prefab

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

the class PrefabTest method testPrefabWithListOfMappedContainers.

@Test
public void testPrefabWithListOfMappedContainers() {
    Prefab prefab = prefabManager.getPrefab("unittest:withListContainer");
    ListOfObjectComponent mappedContainer = prefab.getComponent(ListOfObjectComponent.class);
    assertEquals(2, mappedContainer.elements.size());
    assertEquals("returnHome", mappedContainer.elements.get(1).id);
}
Also used : ListOfObjectComponent(org.terasology.unittest.stubs.ListOfObjectComponent) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) Test(org.junit.jupiter.api.Test)

Example 19 with Prefab

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

the class PojoEntityRef method toString.

@Override
public String toString() {
    Prefab parent = getParentPrefab();
    StringBuilder builder = new StringBuilder();
    builder.append("EntityRef{id = ");
    builder.append(id);
    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 20 with Prefab

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

the class PojoEntityManagerTest method testPrefabPersistedRetainedCorrectly.

@Test
public void testPrefabPersistedRetainedCorrectly() {
    PrefabData protoPrefab = new PrefabData();
    protoPrefab.setPersisted(false);
    prefab = Assets.generateAsset(new ResourceUrn("unittest:nonpersistentPrefab"), protoPrefab, Prefab.class);
    EntityRef entity1 = entityManager.create(prefab);
    assertFalse(entity1.isPersistent());
}
Also used : PrefabData(org.terasology.engine.entitySystem.prefab.PrefabData) ResourceUrn(org.terasology.gestalt.assets.ResourceUrn) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) EntityRef(org.terasology.engine.entitySystem.entity.EntityRef) Test(org.junit.jupiter.api.Test)

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