Skip to content
Snippets Groups Projects
Commit 51dcdfa2 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

Merge branch 'feature-halloffame' into 'devel'

#10 Scale hall of fame by viewport height and let width to be handled by scrollpane



See merge request !110
parents 15d13245 3530881b
Branches feature-runesgame-translations
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@ import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.I18NBundle;
import com.badlogic.gdx.utils.async.AsyncTask;
import com.badlogic.gdx.utils.viewport.Viewport;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -313,7 +314,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
//////////////////////////// STAGE
private Stage prepareStage() {
return new Stage(new XFillViewport());
return new Stage(getViewport());
}
public Stage getStage() {
......@@ -328,6 +329,10 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
stage.addAction(action);
}
protected Viewport getViewport() {
return new XFillViewport();
}
//////////////////////////// INPUT PROCESSORS
public InputProcessor getInputProcessor() {
......
......@@ -15,6 +15,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.Stack;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.SpriteDrawable;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import java.util.ArrayList;
import java.util.Arrays;
......@@ -69,6 +71,11 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
private ScrollPane scrollPane;
@Override
protected Viewport getViewport() {
return new ExtendViewport(0, TablexiaSettings.getMinWorldHeight());
}
@Override
protected void screenPaused(Map<String, String> screenState) {
screenState.put(SCREEN_STATE_SCROLL_POSITION_X, String.valueOf(scrollPane.getScrollPercentX()));
......@@ -84,7 +91,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
@Override
protected void screenLoaded(Map<String, String> screenState) {
Stack contentStack = new Stack();
contentStack.setHeight(SCREEN_SIZE.y);
contentStack.setHeight(getStage().getViewport().getScreenHeight());
prepareBackgroundLayer();
prepareForegroundLayer();
......@@ -94,7 +101,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
scrollPane = new ScrollPane(contentStack);
scrollPane.setScrollingDisabled(false, true);
scrollPane.setSize(SCREEN_SIZE.x, SCREEN_SIZE.y);
scrollPane.setFillParent(true);
getStage().addActor(scrollPane);
......@@ -200,7 +207,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
@Override
public void clicked(InputEvent event, float x, float y) {
Log.info(getClass(), "HEAP CLICKED ");
final TrophyThreeStarsGamesDialog dialog = new TrophyThreeStarsGamesDialog(SCREEN_SIZE.x / 2 - TROPHY_DIALOG_WIDTH / 2, SCREEN_SIZE.y/2-TROPHY_DIALOG_HEIGHT/2, TROPHY_DIALOG_WIDTH, TROPHY_DIALOG_HEIGHT, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES, getText("count_sum"), starResults);
final TrophyThreeStarsGamesDialog dialog = new TrophyThreeStarsGamesDialog(TablexiaSettings.getSceneWidth(getStage()) / 2 - TROPHY_DIALOG_WIDTH / 2, SCREEN_SIZE.y / 2 - TROPHY_DIALOG_HEIGHT / 2, TROPHY_DIALOG_WIDTH, TROPHY_DIALOG_HEIGHT, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES, getText("count_sum"), starResults);
dialog.show(getStage());
dialog.addListener(new ClickListener() {
@Override
......@@ -246,7 +253,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
String name = ApplicationTextManager.getInstance().getText(trophy.getTrophyName());
String desc = ApplicationTextManager.getInstance().getText(trophy.getTrophyDescription());
final TrophyDialog trophyDialog = new TrophyDialog(SCREEN_SIZE.x / 2 - TROPHY_DIALOG_WIDTH / 2, SCREEN_SIZE.y/2-TROPHY_DIALOG_HEIGHT/2, TROPHY_DIALOG_WIDTH, TROPHY_DIALOG_HEIGHT, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES, new DialogTextContent(name, desc), textures);
final TrophyDialog trophyDialog = new TrophyDialog(TablexiaSettings.getSceneWidth(getStage()) / 2 - TROPHY_DIALOG_WIDTH / 2, SCREEN_SIZE.y / 2 - TROPHY_DIALOG_HEIGHT / 2, TROPHY_DIALOG_WIDTH, TROPHY_DIALOG_HEIGHT, TablexiaDialog.BackGroundType.DIALOG_SQUARE_BORDERLINES, new DialogTextContent(name, desc), textures);
trophyDialog.show(getStage());
trophyDialog.addListener(new ClickListener() {
@Override
......@@ -332,7 +339,7 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Map<ITrophyDefiniti
float trophyWidth = texture.getRegionWidth() * position.getThird();
scrollPane.layout();
scrollPane.setScrollX(trophyX - SCREEN_SIZE.x / 2 + trophyWidth / 2);
scrollPane.setScrollX(trophyX - TablexiaSettings.getSceneWidth(getStage()) / 2 + trophyWidth / 2);
scrollPane.updateVisualScroll();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment