Skip to content
Snippets Groups Projects
Commit 087701bc authored by v.tarantik's avatar v.tarantik
Browse files

HOF screen double layered content of ScrollPane

parent 4fffb8e7
No related branches found
No related tags found
No related merge requests found
......@@ -7,14 +7,15 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
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 java.util.List;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.screen.AbstractTablexiaScreen;
import cz.nic.tablexia.screen.halloffame.assets.HallOfFameAssets;
import cz.nic.tablexia.util.Log;
public class HallOfFameScreen extends AbstractTablexiaScreen<Void> {
private static enum TrophyHeapAssets {
......@@ -66,76 +67,71 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Void> {
}
private static final int BACKGROUND_TILE_REPEAT_COUNT = 37;
private HorizontalGroup group;
private Stack contentStack;
private HorizontalGroup backgroundGroup;
private Group foregroundGroup;
@Override
protected void screenLoaded() {
prepareScrollPane();
//prepareDoorButton();
contentStack = new Stack();
contentStack.setHeight(getStage().getHeight());
prepareBackgroundLayer();
prepareForegroundLayer();
contentStack.addActor(backgroundGroup);
contentStack.addActor(foregroundGroup);
contentStack.setDebug(TablexiaSettings.isShowBoudingBoxes());
ScrollPane scrollPane = new ScrollPane(contentStack);
scrollPane.setScrollingDisabled(false, true);
scrollPane.setSize(getStage().getWidth(), getStage().getHeight());
getStage().addActor(scrollPane);
}
private void prepareScrollPane(){
group = new HorizontalGroup();
group.setHeight(getStage().getHeight());
private void prepareBackgroundLayer(){
backgroundGroup = new HorizontalGroup();
backgroundGroup.setHeight(getStage().getHeight());
Group doorGroup = new Group();
doorGroup.setHeight(getStage().getHeight());
Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR);
Image imgDoor = new Image(textureDoor);
imgDoor.setHeight(getStage().getHeight());
doorGroup.setSize(imgDoor.getWidth(),imgDoor.getHeight());
doorGroup.addActor(imgDoor);
final Texture textureDoorButton = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_UNPRESSED);
final Image imgDoorButton = new Image(textureDoorButton);
imgDoorButton.setHeight(getStage().getHeight());
imgDoorButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_PRESSED);
imgDoorButton.setDrawable(new SpriteDrawable(new Sprite(textureDoor)));
}
});
imgDoorButton.setZIndex(2);
doorGroup.addActor(imgDoorButton);
group.addActor(doorGroup);
backgroundGroup.addActor(imgDoor);
Texture textureTile = getTexture(HallOfFameAssets.HALL_OF_FAME_BACKGROUND_TILE);
for (int i = 0; i < BACKGROUND_TILE_REPEAT_COUNT; i++) {
Image imgBackground = new Image(textureTile);
imgBackground.setHeight(getStage().getHeight());
group.addActor(imgBackground);
backgroundGroup.addActor(imgBackground);
}
ScrollPane scrollPane = new ScrollPane(group);
scrollPane.setScrollingDisabled(false,true);
scrollPane.setHeight(getStage().getHeight());
scrollPane.setWidth(getStage().getWidth());
getStage().addActor(scrollPane);
}
private void prepareDoorButton(){
//TODO positioning
final Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_PRESSED);
final Image imgDoor = new Image(textureDoor);
imgDoor.setHeight(getStage().getHeight());
final Texture textureDoorButton = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_UNPRESSED);
final Image imgDoorButton = new Image(textureDoorButton);
imgDoorButton.setHeight(getStage().getHeight());
imgDoor.addListener(new ClickListener() {
imgDoorButton.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_UNPRESSED);
imgDoor.setDrawable(new SpriteDrawable(new Sprite(textureDoor)));
Texture textureDoor = getTexture(HallOfFameAssets.HALL_OF_FAME_DOOR_BUTTON_PRESSED);
imgDoorButton.setDrawable(new SpriteDrawable(new Sprite(textureDoor)));
}
});
imgDoor.setZIndex(5);
group.addActorAt(0, imgDoor);
foregroundGroup.addActor(imgDoorButton);
}
private void prepareForegroundLayer(){
foregroundGroup = new Group();
foregroundGroup.setHeight(getStage().getHeight());
prepareDoorButton();
}
@Override
......@@ -151,4 +147,5 @@ public class HallOfFameScreen extends AbstractTablexiaScreen<Void> {
texturesFileNames.add(asset.getTrophyHeapAssetName());
}
}
}
\ No newline at end of file
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