Skip to content

Commit

Permalink
Game selection screen now uses generator's display name (#3822)
Browse files Browse the repository at this point in the history
  • Loading branch information
Qwertygiy authored May 1, 2020
1 parent 64266ff commit 94544c3
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
import org.terasology.rendering.nui.widgets.UIList;
import org.terasology.utilities.Assets;
import org.terasology.utilities.FilesUtil;
import org.terasology.world.generator.internal.WorldGeneratorInfo;
import org.terasology.world.generator.internal.WorldGeneratorManager;

import java.awt.image.BufferedImage;
import java.io.IOException;
Expand All @@ -60,6 +62,9 @@ public abstract class SelectionScreen extends CoreScreenLayer {
@In
protected Config config;

@In
protected WorldGeneratorManager worldGeneratorManager;

@In
protected TranslationSystem translationSystem;

Expand All @@ -82,11 +87,17 @@ void updateDescription(final GameInfo gameInfo) {
return;
}

final String mainWorldGenerator = gameInfo.getManifest()
final WorldGeneratorInfo wgi = worldGeneratorManager.getWorldGeneratorInfo(
gameInfo.getManifest()
.getWorldInfo(TerasologyConstants.MAIN_WORLD)
.getWorldGenerator()
.getObjectName()
.toString();
.getWorldGenerator());

String mainWorldGenerator = "ERROR: world generator ";
if (wgi != null) {
mainWorldGenerator = wgi.getDisplayName();
} else {
mainWorldGenerator = mainWorldGenerator + gameInfo.getManifest().getWorldInfo(TerasologyConstants.MAIN_WORLD).getWorldGenerator().toString() + " not found";
}

final String commaSeparatedModules = gameInfo.getManifest()
.getModules()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.slf4j.LoggerFactory;
import org.terasology.assets.ResourceUrn;
import org.terasology.context.Context;
import org.terasology.engine.SimpleUri;
import org.terasology.engine.TerasologyConstants;
import org.terasology.engine.module.ModuleManager;
import org.terasology.i18n.TranslationSystem;
Expand Down Expand Up @@ -49,6 +50,8 @@
import org.terasology.rendering.nui.widgets.UITabBox;
import org.terasology.rendering.nui.widgets.UIText;
import org.terasology.utilities.time.DateTimeHelper;
import org.terasology.world.generator.internal.WorldGeneratorInfo;
import org.terasology.world.generator.internal.WorldGeneratorManager;
import org.terasology.world.internal.WorldInfo;

import java.text.DateFormat;
Expand Down Expand Up @@ -78,6 +81,8 @@ public class GameDetailsScreen extends CoreScreenLayer {
private List<String> errors;
private Map<String, List<String>> blockFamilyIds;

@In
private WorldGeneratorManager worldGeneratorManager;
@In
private ModuleManager moduleManager;
@In
Expand Down Expand Up @@ -253,7 +258,7 @@ private String getWorldDescription(final WorldInfo worldInfo) {
}
return translationSystem.translate("${engine:menu#game-details-game-title} ") + gameTitle + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-game-seed} ") + worldInfo.getSeed() + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-world-generator}: ") + worldInfo.getWorldGenerator().toString() + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-world-generator}: ") + worldGeneratorManager.getWorldGeneratorInfo(worldInfo.getWorldGenerator()).getDisplayName() + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-game-duration} ")
+ DateTimeHelper.getDeltaBetweenTimestamps(new Date(0).getTime(), worldInfo.getTime());
}
Expand Down Expand Up @@ -392,13 +397,19 @@ private void loadGeneralInfo() {
}

private String getGeneralInfo(final GameInfo theGameInfo) {
SimpleUri name = theGameInfo.getManifest().getWorldInfo(TerasologyConstants.MAIN_WORLD).getWorldGenerator();
WorldGeneratorInfo wgi = worldGeneratorManager.getWorldGeneratorInfo(name);
String display = "ERROR: generator " + name + " not found.";
if (wgi != null) {
display = wgi.getDisplayName();
}
return translationSystem.translate("${engine:menu#game-details-game-title} ") + theGameInfo.getManifest().getTitle() + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-last-play}: ") + DATE_FORMAT.format(theGameInfo.getTimestamp()) + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-game-duration} ") + DateTimeHelper
.getDeltaBetweenTimestamps(new Date(0).getTime(), theGameInfo.getManifest().getTime()) + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-game-seed} ") + theGameInfo.getManifest().getSeed() + '\n' + '\n' +
translationSystem.translate("${engine:menu#game-details-world-generator}: ") + '\t'
+ theGameInfo.getManifest().getWorldInfo(TerasologyConstants.MAIN_WORLD).getWorldGenerator().getObjectName().toString();
+ display;
}

private void loadGameWorlds() {
Expand Down

0 comments on commit 94544c3

Please sign in to comment.