Search in sources :

Example 1 with GameSession

use of de.gg.game.session.GameSession in project ProjektGG by eskalon.

the class GameMapScreen method setUIValues.

@Override
protected void setUIValues() {
    GameSession session = application.getClient().getSession();
    World world = session.getWorld();
    Player player = application.getClient().getLocalPlayer();
    if (pushParams != null) {
        // Is a new game
        gameRenderer.resetCamera();
        selectionInputController.setWorld(world);
        gameSpeedInputProcessor.setClientActionHandler(application.getClient().getActionHandler());
        iconButton.getStyle().imageUp = skin.getDrawable(player.getIcon().getShieldDrawableName());
    }
    selectionInputController.resetSelection();
    movementInputController.resetInput();
    dateLabel.setText(Lang.get("screen.map.time", GameClock.getSeason(session.getCurrentRound()), GameClock.getYear(session.getCurrentRound())));
}
Also used : GameSession(de.gg.game.session.GameSession) Player(de.gg.game.model.entities.Player) World(de.gg.game.model.World)

Example 2 with GameSession

use of de.gg.game.session.GameSession in project ProjektGG by eskalon.

the class GameLoadingScreen method onFinishedLoading.

@Override
protected void onFinishedLoading() {
    GameSession session = ((ProjektGGApplication) application).getClient().getSession();
    World world = session.getWorld();
    // Create the ModelInstances
    for (BuildingSlot s : world.getBuildingSlots()) {
        if (s.isBuiltOn()) {
            s.getBuilding().setRenderData(new SelectableRenderData(application.getAssetManager().get(s.getBuilding().getType().getModelPath(), Model.class)));
            // FIXME siehe AuthoritativeSession#init(...)
            s.getBuilding().getRenderData().transform.translate(s.getPosX(), 0, s.getPosZ());
            s.getBuilding().getRenderData().transform.rotate(Y_AXIS, s.getRotationToStreet());
        // TODO Use _one_ scene for all models?
        // new SelectableRenderData(scene,
        // building1.getType().getNodeName(), true);
        }
    }
    Model skyboxModel = application.getAssetManager().get(session.getSessionSetup().getMap().getSkyboxPath(), Model.class);
    for (Material m : skyboxModel.materials) {
        // fixes a bug related to changes in gdx 1.9.9, see
        // https://github.com/libgdx/libgdx/issues/5529
        m.remove(ColorAttribute.Emissive);
    }
    world.setSkybox(new ModelInstance(skyboxModel));
    Log.info("Client", "Game assets loaded");
    if (((ProjektGGApplication) application).isHost()) {
        ((ProjektGGApplication) application).getServer().startMatch();
        Log.info("Server", "Game started!");
    }
    application.getScreenManager().pushScreen("round_end", "simple_zoom", 1);
}
Also used : GameSession(de.gg.game.session.GameSession) ModelInstance(com.badlogic.gdx.graphics.g3d.ModelInstance) Model(com.badlogic.gdx.graphics.g3d.Model) Material(com.badlogic.gdx.graphics.g3d.Material) ProjektGGApplication(de.gg.game.core.ProjektGGApplication) World(de.gg.game.model.World) SelectableRenderData(de.gg.game.ui.rendering.SelectableRenderData) BuildingSlot(de.gg.game.model.entities.BuildingSlot)

Aggregations

World (de.gg.game.model.World)2 GameSession (de.gg.game.session.GameSession)2 Material (com.badlogic.gdx.graphics.g3d.Material)1 Model (com.badlogic.gdx.graphics.g3d.Model)1 ModelInstance (com.badlogic.gdx.graphics.g3d.ModelInstance)1 ProjektGGApplication (de.gg.game.core.ProjektGGApplication)1 BuildingSlot (de.gg.game.model.entities.BuildingSlot)1 Player (de.gg.game.model.entities.Player)1 SelectableRenderData (de.gg.game.ui.rendering.SelectableRenderData)1