use of org.terasology.context.Context in project Terasology by MovingBlocks.
the class VisualCharacterSystemTest method setup.
@Before
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.context.Context in project Terasology by MovingBlocks.
the class ComponentSystemManagerTest method setUp.
@Before
public void setUp() {
Context context = mock(Context.class);
EntityManager entityManager = mock(EntityManager.class);
when(entityManager.getEventSystem()).thenReturn(mock(EventSystem.class));
when(context.get(EntityManager.class)).thenReturn(entityManager);
console = mock(Console.class);
when(context.get(Console.class)).thenReturn(console);
systemUnderTest = new ComponentSystemManager(context);
}
use of org.terasology.context.Context in project Terasology by MovingBlocks.
the class Metric method filterMetricMap.
/**
* Filter the metric map by the binding map.
* If the user doesn't want the field to be sent, its value will be covered by "Disabled Field".
* @param bindingMap the binding map.
* @return a new metric map that covers the field that the user doesn't want to send by "Disabled Field".
*/
protected Map<String, Object> filterMetricMap(Map<String, Boolean> bindingMap) {
TelemetryCategory telemetryCategory = this.getClass().getAnnotation(TelemetryCategory.class);
Context context = CoreRegistry.get(Context.class);
DisplayDevice display = context.get(DisplayDevice.class);
if (display.isHeadless() || telemetryCategory.isOneMapMetric()) {
return telemetryFieldToValue;
}
Map<String, Object> metricMapAfterPermission = new HashMap<>();
for (String fieldName : telemetryFieldToValue.keySet()) {
String fieldNameWithID = telemetryCategory.id() + ":" + fieldName;
if (bindingMap.containsKey(fieldNameWithID)) {
if (bindingMap.get(fieldNameWithID)) {
metricMapAfterPermission.put(fieldName, telemetryFieldToValue.get(fieldName));
} else {
metricMapAfterPermission.put(fieldName, "Disabled Field");
}
}
}
return metricMapAfterPermission;
}
use of org.terasology.context.Context in project Terasology by MovingBlocks.
the class Metric method filterMetricMap.
/**
* Filter the metric map by the binding map.
* If the user doesn't want the field to be sent, its value will be covered by "Disabled Field".
* This method could be used in module since {@link org.terasology.config.facade.TelemetryConfiguration} is exposed to modules
* @param telemetryConfiguration the telemetry configuration exposed modules
* @return a new metric map that covers the field that the user doesn't want to send by "Disabled Field".
*/
protected Map<String, Object> filterMetricMap(TelemetryConfiguration telemetryConfiguration) {
TelemetryCategory telemetryCategory = this.getClass().getAnnotation(TelemetryCategory.class);
Context context = CoreRegistry.get(Context.class);
DisplayDevice display = context.get(DisplayDevice.class);
if (display.isHeadless() || telemetryCategory.isOneMapMetric()) {
return telemetryFieldToValue;
}
Map<String, Object> metricMapAfterPermission = new HashMap<>();
for (String fieldName : telemetryFieldToValue.keySet()) {
String fieldNameWithID = telemetryCategory.id() + ":" + fieldName;
if (telemetryConfiguration.containsField(fieldNameWithID)) {
if (telemetryConfiguration.get(fieldNameWithID)) {
metricMapAfterPermission.put(fieldName, telemetryFieldToValue.get(fieldName));
} else {
metricMapAfterPermission.put(fieldName, "Disabled Field");
}
}
}
return metricMapAfterPermission;
}
use of org.terasology.context.Context in project Terasology by MovingBlocks.
the class PreviewWorldScreen method setEnvironment.
public void setEnvironment() throws Exception {
// TODO: pass world gen and module list directly rather than using the config
SimpleUri worldGenUri = config.getWorldGeneration().getDefaultGenerator();
DependencyResolver resolver = new DependencyResolver(moduleManager.getRegistry());
ResolutionResult result = resolver.resolve(config.getDefaultModSelection().listModules());
if (result.isSuccess()) {
subContext = new ContextImpl(context);
CoreRegistry.setContext(subContext);
environment = moduleManager.loadEnvironment(result.getModules(), false);
subContext.put(WorldGeneratorPluginLibrary.class, new TempWorldGeneratorPluginLibrary(environment, subContext));
EnvironmentSwitchHandler environmentSwitchHandler = context.get(EnvironmentSwitchHandler.class);
environmentSwitchHandler.handleSwitchToPreviewEnvironment(subContext, environment);
genTexture();
worldGenerator = WorldGeneratorManager.createWorldGenerator(worldGenUri, subContext, environment);
worldGenerator.setWorldSeed(seed.getText());
List<Zone> previewZones = Lists.newArrayList(worldGenerator.getZones()).stream().filter(z -> !z.getPreviewLayers().isEmpty()).collect(Collectors.toList());
if (previewZones.isEmpty()) {
zoneSelector.setVisible(false);
previewGen = new FacetLayerPreview(environment, worldGenerator);
} else {
zoneSelector.setVisible(true);
zoneSelector.setOptions(previewZones);
zoneSelector.setSelection(previewZones.get(0));
}
configureProperties();
} else {
throw new UnresolvedDependencyException("Unable to resolve depencencies for " + worldGenUri);
}
}
Aggregations