Search in sources :

Example 1 with RenderingModuleSettingScreen

use of org.terasology.engine.rendering.nui.layers.mainMenu.videoSettings.RenderingModuleSettingScreen in project Terasology by MovingBlocks.

the class StartPlayingScreen method initialise.

@Override
public void initialise() {
    setAnimationSystem(MenuAnimationSystems.createDefaultSwipeAnimation());
    WidgetUtil.trySubscribe(this, "close", button -> triggerBackAnimation());
    WidgetUtil.trySubscribe(this, "play", button -> {
        universeWrapper.setTargetWorld(targetWorld);
        final GameManifest gameManifest = GameManifestProvider.createGameManifest(universeWrapper, moduleManager, config);
        if (gameManifest != null) {
            gameEngine.changeState(new StateLoading(gameManifest, (universeWrapper.getLoadingAsServer()) ? NetworkMode.DEDICATED_SERVER : NetworkMode.NONE));
        } else {
            getManager().createScreen(MessagePopup.ASSET_URI, MessagePopup.class).setMessage("Error", "Can't create new game!");
        }
        SimpleUri uri;
        WorldInfo worldInfo;
        // gameManifest.addWorld(worldInfo);
        int i = 0;
        for (WorldSetupWrapper world : worldSetupWrappers) {
            if (world != targetWorld) {
                i++;
                uri = world.getWorldGeneratorInfo().getUri();
                worldInfo = new WorldInfo(TerasologyConstants.MAIN_WORLD + i, world.getWorldName().toString(), world.getWorldGenerator().getWorldSeed(), (long) (WorldTime.DAY_LENGTH * WorldTime.NOON_OFFSET), uri);
                gameManifest.addWorld(worldInfo);
                config.getUniverseConfig().addWorldManager(worldInfo);
            }
        }
        gameEngine.changeState(new StateLoading(gameManifest, (universeWrapper.getLoadingAsServer()) ? NetworkMode.DEDICATED_SERVER : NetworkMode.NONE));
    });
    WidgetUtil.trySubscribe(this, "mainMenu", button -> {
        getManager().pushScreen("engine:mainMenuScreen");
    });
    WidgetUtil.trySubscribe(this, "renderingSettings", button -> {
        RenderingModuleSettingScreen renderingModuleSettingScreen = (RenderingModuleSettingScreen) getManager().getScreen(RenderingModuleSettingScreen.ASSET_URI);
        if (renderingModuleSettingScreen == null) {
            renderingModuleSettingScreen = getManager().createScreen(RenderingModuleSettingScreen.ASSET_URI, RenderingModuleSettingScreen.class);
            renderingModuleSettingScreen.setSubContext(this.subContext);
            renderingModuleSettingScreen.postInit();
        }
        triggerForwardAnimation(renderingModuleSettingScreen);
    });
}
Also used : GameManifest(org.terasology.engine.game.GameManifest) StateLoading(org.terasology.engine.core.modes.StateLoading) RenderingModuleSettingScreen(org.terasology.engine.rendering.nui.layers.mainMenu.videoSettings.RenderingModuleSettingScreen) SimpleUri(org.terasology.engine.core.SimpleUri) WorldInfo(org.terasology.engine.world.internal.WorldInfo) WorldSetupWrapper(org.terasology.engine.rendering.world.WorldSetupWrapper)

Aggregations

SimpleUri (org.terasology.engine.core.SimpleUri)1 StateLoading (org.terasology.engine.core.modes.StateLoading)1 GameManifest (org.terasology.engine.game.GameManifest)1 RenderingModuleSettingScreen (org.terasology.engine.rendering.nui.layers.mainMenu.videoSettings.RenderingModuleSettingScreen)1 WorldSetupWrapper (org.terasology.engine.rendering.world.WorldSetupWrapper)1 WorldInfo (org.terasology.engine.world.internal.WorldInfo)1