use of org.terasology.engine.entitySystem.prefab.Prefab in project Anatomy by Terasology.
the class CirculatoryEffectsSystem method onBloodLevelChanged.
@ReceiveEvent
public void onBloodLevelChanged(BloodLevelChangedEvent event, EntityRef entityRef, InjuredCirculatoryComponent injuredCirculatoryComponent) {
if (injuredCirculatoryComponent.bloodLevel <= 0) {
Prefab bloodLossDamage = prefabManager.getPrefab("Anatomy:bloodLoss");
entityRef.send(new DestroyEvent(EntityRef.NULL, EntityRef.NULL, bloodLossDamage));
}
}
use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.
the class PrefabTest method testPrefabHasDefinedComponents.
@Test
public void testPrefabHasDefinedComponents() {
Prefab prefab = prefabManager.getPrefab("unittest:withComponent");
assertTrue(prefab.hasComponent(StringComponent.class));
}
use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.
the class PrefabTest method testPrefabInheritsFromParent.
@Test
public void testPrefabInheritsFromParent() {
Prefab prefab = prefabManager.getPrefab("unittest:inheritsComponent");
assertTrue(prefab.hasComponent(StringComponent.class));
}
use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.
the class PrefabTest method setup.
@BeforeEach
public void setup() throws Exception {
ContextImpl context = new ContextImpl();
context.put(RecordAndReplayCurrentStatus.class, new RecordAndReplayCurrentStatus());
CoreRegistry.setContext(context);
ModuleManager moduleManager = ModuleManagerFactory.create();
context.put(ModuleManager.class, moduleManager);
EntitySystemSetupUtil.addReflectionBasedLibraries(context);
ModuleAwareAssetTypeManager assetTypeManager = new ModuleAwareAssetTypeManagerImpl();
AssetType<Prefab, PrefabData> prefabDataAssetType = assetTypeManager.createAssetType(Prefab.class, PojoPrefab::new, "prefabs");
ComponentLibrary componentLibrary = context.get(ComponentLibrary.class);
TypeHandlerLibrary typeHandlerLibrary = context.get(TypeHandlerLibrary.class);
PrefabFormat prefabFormat = new PrefabFormat(componentLibrary, typeHandlerLibrary);
assetTypeManager.getAssetFileDataProducer(prefabDataAssetType).addAssetFormat(prefabFormat);
assetTypeManager.switchEnvironment(moduleManager.getEnvironment());
context.put(AssetManager.class, assetTypeManager.getAssetManager());
NetworkSystem networkSystem = mock(NetworkSystem.class);
when(networkSystem.getMode()).thenReturn(NetworkMode.NONE);
context.put(NetworkSystem.class, networkSystem);
EntitySystemSetupUtil.addEntityManagementRelatedClasses(context);
prefabManager = new PojoPrefabManager(context);
}
use of org.terasology.engine.entitySystem.prefab.Prefab in project Terasology by MovingBlocks.
the class PojoEntityManagerTest method setup.
@BeforeEach
public void setup() {
NetworkSystem networkSystem = mock(NetworkSystem.class);
when(networkSystem.getMode()).thenReturn(NetworkMode.NONE);
context.put(NetworkSystem.class, networkSystem);
EntitySystemSetupUtil.addReflectionBasedLibraries(context);
EntitySystemSetupUtil.addEntityManagementRelatedClasses(context);
entityManager = (PojoEntityManager) context.get(EntityManager.class);
PrefabData protoPrefab = new PrefabData();
protoPrefab.addComponent(new StringComponent("Test"));
prefab = Assets.generateAsset(new ResourceUrn("unittest:myprefab"), protoPrefab, Prefab.class);
}
Aggregations