use of org.terasology.nui.widgets.UIText in project Terasology by MovingBlocks.
the class NewGameScreen method initialise.
@Override
public void initialise() {
setAnimationSystem(MenuAnimationSystems.createDefaultSwipeAnimation());
UILabel gameTypeTitle = find("gameTypeTitle", UILabel.class);
if (gameTypeTitle != null) {
gameTypeTitle.bindText(new ReadOnlyBinding<String>() {
@Override
public String get() {
if (isLoadingAsServer()) {
return translationSystem.translate("${engine:menu#select-multiplayer-game-sub-title}");
} else {
return translationSystem.translate("${engine:menu#select-singleplayer-game-sub-title}");
}
}
});
}
final UIText gameName = find("gameName", UIText.class);
setGameName(gameName);
final UIDropdownScrollable<Module> gameplay = find("gameplay", UIDropdownScrollable.class);
gameplay.setOptions(getGameplayModules());
gameplay.setVisibleOptions(5);
gameplay.bindSelection(new Binding<Module>() {
Module selected;
@Override
public Module get() {
return selected;
}
@Override
public void set(Module value) {
setSelectedGameplayModule(value);
selected = value;
}
});
gameplay.setOptionRenderer(new StringTextRenderer<Module>() {
@Override
public String getString(Module value) {
return value.getMetadata().getDisplayName().value();
}
@Override
public void draw(Module value, Canvas canvas) {
canvas.getCurrentStyle().setTextColor(validateModuleDependencies(value.getId()) ? Color.WHITE : Color.RED);
super.draw(value, canvas);
canvas.getCurrentStyle().setTextColor(Color.WHITE);
}
});
UILabel gameplayDescription = find("gameplayDescription", UILabel.class);
gameplayDescription.bindText(new ReadOnlyBinding<String>() {
@Override
public String get() {
Module selectedModule = gameplay.getSelection();
if (selectedModule != null) {
return selectedModule.getMetadata().getDescription().value();
} else {
return "";
}
}
});
AdvancedGameSetupScreen advancedSetupGameScreen = getManager().createScreen(AdvancedGameSetupScreen.ASSET_URI, AdvancedGameSetupScreen.class);
WidgetUtil.trySubscribe(this, "advancedSetup", button -> {
universeWrapper.setGameName(gameName.getText());
advancedSetupGameScreen.setUniverseWrapper(universeWrapper);
triggerForwardAnimation(advancedSetupGameScreen);
});
WidgetUtil.trySubscribe(this, "play", button -> {
if (gameName.getText().isEmpty()) {
universeWrapper.setGameName(GameProvider.getNextGameName());
}
universeWrapper.setGameName(GameProvider.getNextGameName(gameName.getText()));
if (gameplay.getOptions().isEmpty()) {
logger.error("No gameplay modules present");
MessagePopup errorPopup = getManager().pushScreen(MessagePopup.ASSET_URI, MessagePopup.class);
errorPopup.setMessage("Error", "Can't create new game without modules!");
}
GameManifest gameManifest = GameManifestProvider.createGameManifest(universeWrapper, moduleManager, config);
if (gameManifest != null) {
gameEngine.changeState(new StateLoading(gameManifest, (isLoadingAsServer()) ? NetworkMode.DEDICATED_SERVER : NetworkMode.NONE));
} else {
MessagePopup errorPopup = getManager().createScreen(MessagePopup.ASSET_URI, MessagePopup.class);
errorPopup.setMessage("Error", "Can't create new game!");
}
});
WidgetUtil.trySubscribe(this, "close", button -> {
if (GameProvider.isSavesFolderEmpty()) {
// skip selectGameScreen and get back directly to main screen
getManager().pushScreen("engine:mainMenuScreen");
} else {
triggerBackAnimation();
}
});
WidgetUtil.trySubscribe(this, "mainMenu", button -> {
getManager().pushScreen("engine:mainMenuScreen");
});
}
use of org.terasology.nui.widgets.UIText in project Terasology by MovingBlocks.
the class WorldSetupScreen method onOpened.
@Override
public void onOpened() {
super.onOpened();
UILabel subitle = find("subtitle", UILabel.class);
subitle.setText(translationSystem.translate("${engine:menu#world-setup}") + " for " + world.getWorldName().toString());
UIText customWorldName = find("customisedWorldName", UIText.class);
setCustomWorldName(customWorldName);
}
use of org.terasology.nui.widgets.UIText in project Terasology by MovingBlocks.
the class TypeWidgetTestScreen method initialise.
@Override
public void initialise() {
mainContainer = find("mainContainer", ColumnLayout.class);
assert mainContainer != null;
mainContainer.setAutoSizeColumns(true);
mainContainer.setFillVerticalSpace(false);
mainContainer.setVerticalSpacing(5);
bindingsLog = new UIText();
bindingsLog.setReadOnly(true);
bindingsLog.setMultiline(true);
addWidgets();
mainContainer.addWidget(bindingsLog);
}
Aggregations