Skip to content

Commit

Permalink
Merge pull request #1726 from msteiger/world_preview
Browse files Browse the repository at this point in the history
Merge world config screen into preview screen
  • Loading branch information
msteiger committed May 24, 2015
2 parents a5d7b54 + ebaa56a commit b2bcc42
Show file tree
Hide file tree
Showing 27 changed files with 408 additions and 576 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
public class WorldBuilderTest {
@Test
public void borderCalculation() {
WorldBuilder worldBuilder = new WorldBuilder(12L);
WorldBuilder worldBuilder = new WorldBuilder();
worldBuilder.setSeed(12);
worldBuilder.addProvider(new Facet1Provider());
worldBuilder.addProvider(new Facet2Provider());

Expand All @@ -42,7 +43,8 @@ public void borderCalculation() {

@Test
public void cumulativeBorderCalculation() {
WorldBuilder worldBuilder = new WorldBuilder(12L);
WorldBuilder worldBuilder = new WorldBuilder();
worldBuilder.setSeed(12);
worldBuilder.addProvider(new Facet1Provider());
worldBuilder.addProvider(new Facet2Provider());
worldBuilder.addProvider(new Facet3Provider());
Expand All @@ -63,7 +65,8 @@ public void cumulativeBorderCalculation() {

@Test
public void multiplePathsBorderCalculation() {
WorldBuilder worldBuilder = new WorldBuilder(12L);
WorldBuilder worldBuilder = new WorldBuilder();
worldBuilder.setSeed(12);
worldBuilder.addProvider(new Facet1Provider());
worldBuilder.addProvider(new Facet2Provider());
worldBuilder.addProvider(new Facet4Provider());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

package org.terasology.engine.modes.loadProcesses;

import com.google.common.base.Optional;
import org.terasology.config.Config;
import org.terasology.context.Context;
import org.terasology.engine.SimpleUri;
Expand Down Expand Up @@ -61,19 +60,14 @@ public boolean step() {
// get the world generator config from the world entity
// replace the world generator values from the components in the world entity
WorldGenerator worldGenerator = context.get(WorldGenerator.class);
Optional<WorldConfigurator> ocf = worldGenerator.getConfigurator();

if (ocf.isPresent()) {
Map<String, Component> params = ocf.get().getProperties();
for (Map.Entry<String, Component> entry : params.entrySet()) {
Class<? extends Component> clazz = entry.getValue().getClass();
Component comp = worldEntity.getComponent(clazz);
if (comp != null) {
entry.setValue(comp);
}
WorldConfigurator worldConfigurator = worldGenerator.getConfigurator();
Map<String, Component> params = worldConfigurator.getProperties();
for (Map.Entry<String, Component> entry : params.entrySet()) {
Class<? extends Component> clazz = entry.getValue().getClass();
Component comp = worldEntity.getComponent(clazz);
if (comp != null) {
worldConfigurator.setProperty(entry.getKey(), comp);
}
// save the world config back to the world generator
worldGenerator.setConfigurator(ocf.get());
}
} else {
EntityRef worldEntity = entityManager.create();
Expand All @@ -82,33 +76,26 @@ public boolean step() {

// transfer all world generation parameters from Config to WorldEntity
WorldGenerator worldGenerator = context.get(WorldGenerator.class);
Optional<WorldConfigurator> ocf = worldGenerator.getConfigurator();

if (ocf.isPresent()) {
SimpleUri generatorUri = worldGenerator.getUri();
Config config = context.get(Config.class);

// get the map of properties from the world generator. Replace its values with values from the config set by the UI.
// Also set all the components to the world entity.
Map<String, Component> params = ocf.get().getProperties();
for (Map.Entry<String, Component> entry : params.entrySet()) {
Class<? extends Component> clazz = entry.getValue().getClass();
Component comp = config.getModuleConfig(generatorUri, entry.getKey(), clazz);
if (comp != null) {
worldEntity.addComponent(comp);
entry.setValue(comp);
} else {
worldEntity.addComponent(entry.getValue());
}
SimpleUri generatorUri = worldGenerator.getUri();
Config config = context.get(Config.class);

// get the map of properties from the world generator.
// Replace its values with values from the config set by the UI.
// Also set all the components to the world entity.
WorldConfigurator worldConfigurator = worldGenerator.getConfigurator();
Map<String, Component> params = worldConfigurator.getProperties();
for (Map.Entry<String, Component> entry : params.entrySet()) {
Class<? extends Component> clazz = entry.getValue().getClass();
Component comp = config.getModuleConfig(generatorUri, entry.getKey(), clazz);
if (comp != null) {
worldEntity.addComponent(comp);
worldConfigurator.setProperty(entry.getKey(), comp);
} else {
worldEntity.addComponent(entry.getValue());
}

// save the world config back to the world generator
worldGenerator.setConfigurator(ocf.get());
}

}


return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package org.terasology.logic.console.commands;

import com.google.common.base.Function;
import org.terasology.asset.AssetManager;
import org.terasology.asset.AssetType;
import org.terasology.asset.AssetUri;
Expand All @@ -41,17 +40,13 @@
import org.terasology.logic.console.commandSystem.annotations.Command;
import org.terasology.logic.console.commandSystem.annotations.CommandParam;
import org.terasology.logic.console.suggesters.CommandNameSuggester;
import org.terasology.logic.health.DestroyEvent;
import org.terasology.logic.health.EngineDamageTypes;
import org.terasology.logic.health.HealthComponent;
import org.terasology.logic.inventory.PickupBuilder;
import org.terasology.logic.location.LocationComponent;
import org.terasology.logic.permission.PermissionManager;
import org.terasology.math.Direction;
import org.terasology.math.geom.Quat4f;
import org.terasology.math.geom.Vector3f;
import org.terasology.naming.Name;
import org.terasology.network.ClientComponent;
import org.terasology.network.JoinStatus;
import org.terasology.network.NetworkMode;
import org.terasology.network.NetworkSystem;
Expand All @@ -69,7 +64,6 @@
import org.terasology.rendering.nui.layers.mainMenu.WaitPopup;
import org.terasology.rendering.nui.skin.UISkinData;
import org.terasology.rendering.world.WorldRenderer;
import org.terasology.world.WorldProvider;
import org.terasology.world.block.BlockManager;
import org.terasology.world.block.family.BlockFamily;
import org.terasology.world.block.items.BlockItemFactory;
Expand Down Expand Up @@ -222,21 +216,15 @@ public JoinStatus call() throws InterruptedException {
final NUIManager manager = CoreRegistry.get(NUIManager.class);
final WaitPopup<JoinStatus> popup = manager.pushScreen(WaitPopup.ASSET_URI, WaitPopup.class);
popup.setMessage("Join Game", "Connecting to '" + address + ":" + port + "' - please wait ...");
popup.onSuccess(new Function<JoinStatus, Void>() {

@Override
public Void apply(JoinStatus result) {
popup.onSuccess(result -> {
GameEngine engine = CoreRegistry.get(GameEngine.class);
if (result.getStatus() != JoinStatus.Status.FAILED) {
engine.changeState(new StateLoading(result));
} else {
MessagePopup screen = manager.pushScreen(MessagePopup.ASSET_URI, MessagePopup.class);
screen.setMessage("Failed to Join", "Could not connect to server - " + result.getErrorMessage());
}

return null;
}
});
});
popup.startOperation(operation, true);
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -279,24 +279,13 @@ public Boolean get() {
WidgetUtil.trySubscribe(this, "previewSeed", new ActivateEventListener() {
@Override
public void onActivated(UIWidget button) {
PreviewWorldScreen screen = getManager().pushScreen("engine:previewWorldScreen", PreviewWorldScreen.class);
PreviewWorldScreen screen = getManager().pushScreen(PreviewWorldScreen.ASSET_URI, PreviewWorldScreen.class);
if (screen != null) {
screen.bindSeed(BindHelper.bindBeanProperty("text", seed, String.class));
}
}
});

UIButton configButton = find("config", UIButton.class);
if (configButton != null) {
configButton.subscribe(new ActivateEventListener() {
@Override
public void onActivated(UIWidget button) {
getManager().pushScreen("engine:configWorldGen");
}
});
configButton.bindEnabled(worldGeneratorSelected);
}

WidgetUtil.trySubscribe(this, "mods", new ActivateEventListener() {
@Override
public void onActivated(UIWidget button) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
import org.terasology.world.internal.WorldInfo;
import org.terasology.world.time.WorldTime;

import com.google.common.base.Function;
import com.google.common.base.Joiner;

/**
Expand Down Expand Up @@ -146,17 +145,12 @@ public JoinStatus call() throws InterruptedException {

final WaitPopup<JoinStatus> popup = getManager().pushScreen(WaitPopup.ASSET_URI, WaitPopup.class);
popup.setMessage("Join Game", "Connecting to '" + address + ":" + port + "' - please wait ...");
popup.onSuccess(new Function<JoinStatus, Void>() {

@Override
public Void apply(JoinStatus result) {
if (result.getStatus() != JoinStatus.Status.FAILED) {
engine.changeState(new StateLoading(result));
} else {
MessagePopup screen = getManager().pushScreen(MessagePopup.ASSET_URI, MessagePopup.class);
screen.setMessage("Failed to Join", "Could not connect to server - " + result.getErrorMessage());
}
return null;
popup.onSuccess(result -> {
if (result.getStatus() != JoinStatus.Status.FAILED) {
engine.changeState(new StateLoading(result));
} else {
MessagePopup screen = getManager().pushScreen(MessagePopup.ASSET_URI, MessagePopup.class);
screen.setMessage("Failed to Join", "Could not connect to server - " + result.getErrorMessage());
}
});
popup.startOperation(operation, true);
Expand Down
Loading

0 comments on commit b2bcc42

Please sign in to comment.