Skip to content
Snippets Groups Projects
Commit 6781c489 authored by Luboš Horáček's avatar Luboš Horáček
Browse files

#22 Avatar picker overlay

parent 3bced07f
No related branches found
No related tags found
No related merge requests found
Showing
with 35 additions and 8 deletions
core/assets/common/screen/createuser/form/gfx/avatar/1.jpg

52.1 KiB

core/assets/common/screen/createuser/form/gfx/avatar/2.jpg

57.9 KiB

core/assets/common/screen/createuser/form/gfx/avatar/3.jpg

44.8 KiB

core/assets/common/screen/createuser/form/gfx/avatar/4.jpg

50.5 KiB

core/assets/common/screen/createuser/form/gfx/avatar/5.jpg

58.3 KiB

core/assets/common/screen/createuser/form/gfx/avatar/6.jpg

48.1 KiB

core/assets/common/screen/createuser/form/gfx/avatar/7.jpg

33.9 KiB

core/assets/common/screen/createuser/form/gfx/avatar/8.jpg

53.4 KiB

core/assets/common/screen/createuser/form/gfx/avatar/overlay.png

86 B

......@@ -25,13 +25,14 @@ public class TablexiaSettings {
private static final boolean DEBUG_SHOW_BOUNDING_BOXES = true;
public static final Class<? extends AbstractTablexiaScreen<?>> INITIAL_SCREEN = FormScreen.class;
public static final int AVATAR_COUNT = 8;
public static final String LOCALE_KEY = "locale";
public static final String CURRENT_SCREEN_KEY = "current_screen";
private static final String IDE_BUILD_APPLICATION_ID = "cz.nic.tablexia.debug";
private static final String IDE_BUILD_VERSION_NAME = "IDE-BUILD";
private final BuildType BUILD_TYPE;
private final String VERSION_NAME;
private final String APPLICATION_ID;
......
......@@ -5,8 +5,11 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.InputListener;
import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.Stack;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
......@@ -37,7 +40,7 @@ public class FormScreen extends AbstractAutoloadTablexiaScreen<Void> {
@Override
protected void screenLoaded() {
getStage().setDebugAll(true);
getStage().setDebugAll(TablexiaSettings.getInstance().isShowBoundingBoxes());
Group group = new Group();
Image background = new Image(getTexture("table"));
......@@ -47,17 +50,16 @@ public class FormScreen extends AbstractAutoloadTablexiaScreen<Void> {
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("inkpad"), getStage().getWidth() * 0.3f, getStage().getWidth() * -0.1f, getStage().getWidth() * 0.3f));
group.addActor(ScaleUtil.createImageSizePosition(getTexture("background"), getStage().getWidth() * 0.75f, TablexiaSettings.getMinScreenHeight() * 0.98f, getStage().getWidth() * 0.13f, 0));
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("badge"), getStage().getWidth() * 0.3f, getStage().getWidth() * 0.18f, getStage().getWidth() * 0.15f));
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("mugshot00"), getStage().getWidth() * 0.13f, getStage().getWidth() * 0.6f, getStage().getWidth() * 0.34f)); // size for all mugshots
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("avatar/0"), getStage().getWidth() * 0.13f, getStage().getWidth() * 0.6f, getStage().getWidth() * 0.34f)); // size for all mugshots
group.addActor(mugshotFrame = ScaleUtil.createImageWidthPosition(getTexture("mugshotframe"), getStage().getWidth() * 0.17f, getStage().getWidth() * 0.58f, getStage().getWidth() * 0.32f));
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("textfield_covername"), getStage().getWidth() * 0.2f, getStage().getWidth() * 0.57f, getStage().getWidth() * 0.27f));
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("stampplaceholder"), getStage().getWidth() * 0.1f, getStage().getWidth() * 0.73f, getStage().getWidth() * 0.04f));
group.addActor(ScaleUtil.createImageWidthPosition(getTexture("texfield_signature"), getStage().getWidth() * 0.15f, getStage().getWidth() * 0.55f, getStage().getWidth() * 0.07f));
// TODO pens and stamps variant
// TODO player name input
mugshotFrame.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
// TODO show mugshot selector
showMugshotDialog();
}
});
......@@ -145,12 +147,35 @@ public class FormScreen extends AbstractAutoloadTablexiaScreen<Void> {
stamp.addListener(new DragActorListener(stamp, true));
getStage().addActor(group);
}
private void showMugshotDialog() {
final Group mugshots = new Group();
Image overlay = new Image(getTexture("avatar/overlay"));
overlay.getColor().a = 0.5f;
mugshots.addActor(ScaleUtil.setFullScreen(overlay, getStage()));
overlay.addListener(new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
event.stop();
mugshots.remove();
return false;
}
});
Group mugshots = new Group();
HorizontalGroup hg = new HorizontalGroup();
ScrollPane sp = new ScrollPane(hg);
mugshots.addActor(sp);
// TODO film strip with pictures
getStage().addActor(mugshots);
}
private Label.LabelStyle getLabelStyle() {
return new Label.LabelStyle(ApplicationFontManager.getInstance().getFont(ApplicationFontManager.APPLICATION_DEFAULT_FONT_REGULAR), Color.BLACK);
}
......@@ -161,7 +186,7 @@ public class FormScreen extends AbstractAutoloadTablexiaScreen<Void> {
class StampStack extends Stack {
public StampStack(float width) {
// TODO position dependet images
// TODO position dependent images
}
}
}
......
......@@ -64,9 +64,10 @@ public class ScaleUtil {
return targetHeight * (origWidth / origHeight);
}
public static void setFullScreen(Actor actor, Stage stage) {
public static Actor setFullScreen(Actor actor, Stage stage) {
setPosition(actor, 0, 0);
actor.setSize(stage.getWidth(), stage.getHeight());
return actor;
}
public static Actor setPosition(Actor actor, float x, float y) {
......
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