improved GameScreen
@ -0,0 +1,90 @@
|
|||||||
|
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.*;
|
||||||
|
import eu.jonahbauer.wizard.client.libgdx.WizardGame;
|
||||||
|
import eu.jonahbauer.wizard.client.libgdx.screens.GameScreen;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import static com.badlogic.gdx.scenes.scene2d.actions.Actions.*;
|
||||||
|
|
||||||
|
public class CardStack extends Group {
|
||||||
|
private final Random random = new Random();
|
||||||
|
private final List<Entry> cards = new ArrayList<>();
|
||||||
|
|
||||||
|
public CardStack() {
|
||||||
|
this.addListener(new InputListener() {
|
||||||
|
@Override
|
||||||
|
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||||
|
if (fromActor == null || !isAscendantOf(fromActor)) {
|
||||||
|
cards.forEach(Entry::expand);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
|
||||||
|
if (toActor == null || !isAscendantOf(toActor)) {
|
||||||
|
cards.forEach(Entry::collapse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(GameScreen.Seat seat, CardActor card) {
|
||||||
|
var entry = new Entry(
|
||||||
|
card,
|
||||||
|
seat,
|
||||||
|
(float) random.nextGaussian((WizardGame.WIDTH - card.getWidth()) / 2, 15),
|
||||||
|
(float) random.nextGaussian((WizardGame.HEIGHT - card.getHeight()) / 2, 15),
|
||||||
|
(float) random.nextGaussian(0, 60),
|
||||||
|
(float) random.nextGaussian(0, 20)
|
||||||
|
);
|
||||||
|
addActor(card);
|
||||||
|
entry.collapse();
|
||||||
|
cards.add(entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearChildren(boolean unfocus) {
|
||||||
|
super.clearChildren(unfocus);
|
||||||
|
cards.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Data
|
||||||
|
private static class Entry {
|
||||||
|
private final CardActor actor;
|
||||||
|
private final GameScreen.Seat seat;
|
||||||
|
private final float x;
|
||||||
|
private final float y;
|
||||||
|
private final float rotation;
|
||||||
|
private final float rotation2;
|
||||||
|
private Action action;
|
||||||
|
|
||||||
|
public void expand() {
|
||||||
|
if (action != null) {
|
||||||
|
actor.removeAction(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
action = parallel(
|
||||||
|
moveTo(seat.getCardX() - actor.getWidth() / 2, seat.getCardY() - actor.getHeight() / 2, 0.25f),
|
||||||
|
rotateTo(rotation2, 0.25f)
|
||||||
|
);
|
||||||
|
|
||||||
|
actor.addAction(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void collapse() {
|
||||||
|
if (action != null) {
|
||||||
|
actor.removeAction(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
action = parallel(
|
||||||
|
moveTo(x, y, 0.25f),
|
||||||
|
rotateTo(rotation, 0.25f)
|
||||||
|
);
|
||||||
|
|
||||||
|
actor.addAction(action);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,88 +1,196 @@
|
|||||||
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.math.MathUtils;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputListener;
|
import com.badlogic.gdx.scenes.scene2d.*;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.HorizontalGroup;
|
import com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup;
|
||||||
|
import com.badlogic.gdx.utils.Pools;
|
||||||
import eu.jonahbauer.wizard.common.model.Card;
|
import eu.jonahbauer.wizard.common.model.Card;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
public class CardsGroup extends WidgetGroup {
|
||||||
|
private static final float TARGET_SPACING = -50f;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final float prefWidth = 0;
|
||||||
|
@Getter
|
||||||
|
private final float prefHeight = CardActor.PREF_HEIGHT;
|
||||||
|
|
||||||
|
private final TextureAtlas atlas;
|
||||||
|
|
||||||
|
private float[] cardX;
|
||||||
|
private float spacing;
|
||||||
|
private float cardWidth;
|
||||||
|
|
||||||
public class CardsGroup extends HorizontalGroup {
|
|
||||||
private TextureAtlas atlas;
|
|
||||||
private List<CardActor> actors;
|
|
||||||
private int hash;
|
|
||||||
private CardActor target;
|
private CardActor target;
|
||||||
|
|
||||||
|
private boolean dragging;
|
||||||
|
private final float touchSlop = 5;
|
||||||
|
private CardActor dragTarget;
|
||||||
|
private float dragStartX;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Consumer<CardActor> onClickListener;
|
||||||
|
|
||||||
public CardsGroup(List<Card> cards, TextureAtlas atlas) {
|
public CardsGroup(List<Card> cards, TextureAtlas atlas) {
|
||||||
this.atlas = atlas;
|
this.atlas = atlas;
|
||||||
update(cards);
|
update(cards);
|
||||||
|
|
||||||
|
setFillParent(true);
|
||||||
|
|
||||||
this.addListener(new InputListener() {
|
this.addListener(new InputListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
|
||||||
|
if (pointer != 0) return false;
|
||||||
if (event.getTarget() instanceof CardActor card) {
|
if (event.getTarget() instanceof CardActor card) {
|
||||||
CardsGroup.this.target = card;
|
dragTarget = card;
|
||||||
|
dragStartX = x;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
|
public void touchDragged(InputEvent event, float x, float y, int pointer) {
|
||||||
if (event.getTarget() == CardsGroup.this.target) {
|
if (pointer != 0) return;
|
||||||
CardsGroup.this.target = null;
|
if (!dragging && Math.abs(x - dragStartX) > touchSlop) {
|
||||||
|
dragging = true;
|
||||||
|
} else if (dragging) {
|
||||||
|
int index = Arrays.binarySearch(cardX, x - (cardWidth + spacing));
|
||||||
|
if (index < 0) {
|
||||||
|
index = -(index + 1);
|
||||||
|
if (index >= getChildren().size) return;
|
||||||
|
}
|
||||||
|
if (getChild(index) != dragTarget) {
|
||||||
|
float oldX = dragTarget.getX();
|
||||||
|
getChildren().removeValue(dragTarget, true);
|
||||||
|
getChildren().insert(index, dragTarget);
|
||||||
|
layout();
|
||||||
|
dragTarget.setHeight(1.3f * getHeight());
|
||||||
|
dragStartX += (dragTarget.getX() - oldX);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getMinWidth() {
|
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
|
||||||
return 0;
|
if (pointer != 0) return;
|
||||||
|
if (!dragging && dragTarget != null) {
|
||||||
|
if (onClickListener != null) {
|
||||||
|
onClickListener.accept(dragTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dragging = false;
|
||||||
|
dragTarget = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||||
|
if (pointer != -1) return;
|
||||||
|
if (event.getTarget() instanceof CardActor card) {
|
||||||
|
target = card;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
|
||||||
|
if (pointer != -1) return;
|
||||||
|
if (event.getTarget() == target) {
|
||||||
|
target = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void act(float delta) {
|
public void act(float delta) {
|
||||||
super.act(delta);
|
super.act(delta);
|
||||||
|
|
||||||
float speed = 10;
|
float offset = 0.3f * getHeight();
|
||||||
float offset = 100;
|
float speed = 10 * offset;
|
||||||
|
|
||||||
for (Actor child : getChildren()) {
|
for (var child : getChildren()) {
|
||||||
if (child instanceof CardActor card) {
|
if (child instanceof CardActor card) {
|
||||||
if (card == target) {
|
float height = card.getHeight();
|
||||||
card.offset += speed * delta;
|
if (child == dragTarget || dragTarget == null && child == target) {
|
||||||
|
height += speed * delta;
|
||||||
} else {
|
} else {
|
||||||
card.offset -= speed * delta;
|
height -= speed * delta;
|
||||||
}
|
}
|
||||||
card.offset = Math.max(0, Math.min(1, card.offset));
|
height = MathUtils.clamp(height, getHeight(), getHeight() + offset);
|
||||||
card.setHeight(100 + offset * card.offset);
|
card.setHeight(height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void layout() {
|
public void layout() {
|
||||||
super.layout();
|
var children = getChildren();
|
||||||
var space = getWidth();
|
var count = children.size;
|
||||||
for (Actor child : getChildren()) {
|
|
||||||
space -= child.getWidth();
|
float height = getHeight();
|
||||||
if (child instanceof CardActor card) {
|
float width = getWidth();
|
||||||
card.baseY = card.getY();
|
cardX = new float[count];
|
||||||
}
|
|
||||||
|
cardWidth = height / CardActor.ASPECT_RATIO;
|
||||||
|
spacing = width - count * cardWidth;
|
||||||
|
spacing /= count - 1;
|
||||||
|
spacing = Math.min(spacing, TARGET_SPACING);
|
||||||
|
|
||||||
|
float x = Math.max(0, (width - count * cardWidth - (count - 1) * TARGET_SPACING) / 2);
|
||||||
|
float y = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < children.size; i++) {
|
||||||
|
var child = children.get(i);
|
||||||
|
child.setBounds(x, y, cardWidth, height);
|
||||||
|
cardX[i] = x;
|
||||||
|
x += cardWidth + spacing;
|
||||||
}
|
}
|
||||||
space(getChildren().size > 1 ? space / (getChildren().size - 1) : 0);
|
|
||||||
super.layout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void update(List<Card> cards) {
|
public void update(List<Card> cards) {
|
||||||
var hash = cards.hashCode();
|
clearChildren();
|
||||||
if (this.hash != hash) {
|
|
||||||
this.hash = hash;
|
cards.stream()
|
||||||
this.actors = cards.stream().map(card -> new CardActor(card, atlas)).toList();
|
.map(card -> new CardActor(card, atlas))
|
||||||
this.clearChildren();
|
.forEach(this::addActor);
|
||||||
this.actors.forEach(this::addActor);
|
layout();
|
||||||
this.layout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CardActor remove(Card card) {
|
||||||
|
CardActor actor = null;
|
||||||
|
var children = getChildren();
|
||||||
|
for (int i = 0; i < children.size; i++) {
|
||||||
|
if (children.get(i) instanceof CardActor cardActor && cardActor.getCard() == card) {
|
||||||
|
actor = cardActor;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (actor == null) {
|
||||||
|
throw new NoSuchElementException();
|
||||||
|
}
|
||||||
|
|
||||||
|
actor.setY(getY() + actor.getHeight() - getHeight());
|
||||||
|
var pos = localToStageCoordinates(Pools.get(Vector2.class).obtain().set(actor.getX(), actor.getY()));
|
||||||
|
actor.setHeight(getHeight());
|
||||||
|
actor.setPosition(pos.x, pos.y);
|
||||||
|
if (target == actor) {
|
||||||
|
target = null;
|
||||||
|
}
|
||||||
|
actor.remove();
|
||||||
|
layout();
|
||||||
|
return actor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public float getMinHeight() {
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,33 +0,0 @@
|
|||||||
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.Action;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
|
||||||
import eu.jonahbauer.wizard.client.libgdx.WizardGame;
|
|
||||||
import eu.jonahbauer.wizard.common.model.Card;
|
|
||||||
|
|
||||||
public class ChosenCardActor extends Actor {
|
|
||||||
private final Card card;
|
|
||||||
private final TextureRegion texture;
|
|
||||||
private final Action toCenter;
|
|
||||||
|
|
||||||
public ChosenCardActor(Card card, TextureRegion region) {
|
|
||||||
this.card = card;
|
|
||||||
setWidth(100);
|
|
||||||
setHeight(100);
|
|
||||||
texture = region;
|
|
||||||
toCenter = Actions.moveTo(WizardGame.WIDTH * 0.75f * 0.5f - 0.5f * getWidth(), WizardGame.HEIGHT * 0.35f, 0.5f);
|
|
||||||
this.addAction(toCenter);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void draw(Batch batch, float parentAlpha) {
|
|
||||||
batch.draw(texture, getX(), getY(), getWidth(), getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void action() {
|
|
||||||
this.addAction(toCenter);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,96 +0,0 @@
|
|||||||
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
|
||||||
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Cell;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
|
||||||
import eu.jonahbauer.wizard.common.model.Card;
|
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
public class InfoTable extends Table {
|
|
||||||
|
|
||||||
private final UUID[] players;
|
|
||||||
private final Skin skin;
|
|
||||||
|
|
||||||
@Setter(AccessLevel.MODULE)
|
|
||||||
private int round = -1;
|
|
||||||
private int playercount; //optional
|
|
||||||
private Cell cells[][];
|
|
||||||
private static final int TABLELENGTH = 4;
|
|
||||||
private static final int PLAYERNAMES = 0;
|
|
||||||
private static final int PREDICTIONS = 1;
|
|
||||||
private static final int TRICKS = 2;
|
|
||||||
private static final int SCORES = 3;
|
|
||||||
private final String headers[] = {"Spieler", "Vorhersage", "Stiche", "Punktzahl"};
|
|
||||||
|
|
||||||
public InfoTable(Skin skin, UUID[] players) {
|
|
||||||
super(skin);
|
|
||||||
this.skin = skin;
|
|
||||||
this.players = players;
|
|
||||||
playercount = players.length;
|
|
||||||
cells = new Cell[TABLELENGTH][playercount];
|
|
||||||
createHeader();
|
|
||||||
//this.columnDefaults(1).width(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void createHeader() {
|
|
||||||
for (int i = 0; i < headers.length; i++) {
|
|
||||||
Label header = new Label(headers[i], skin);
|
|
||||||
//header.setWidth(5);
|
|
||||||
//header.setEllipsis(true);
|
|
||||||
add(header).padRight(5);
|
|
||||||
}
|
|
||||||
row();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fill(Map<UUID, String> names, Map<UUID, Integer> predictions, Map<UUID, List<List<Card>>> tricks,
|
|
||||||
Map<Integer, Map<UUID, Integer>> scores) {
|
|
||||||
|
|
||||||
for(int i = 0; i < players.length; i++) {
|
|
||||||
//Name
|
|
||||||
cells[PLAYERNAMES][i] = add(names.get(players[i]));
|
|
||||||
((Label) cells[PLAYERNAMES][i].getActor()).setWidth(10);
|
|
||||||
((Label) cells[PLAYERNAMES][i].getActor()).setEllipsis(true);
|
|
||||||
|
|
||||||
//Prediction
|
|
||||||
cells[PREDICTIONS][i] = add(String.valueOf(predictions.get(players[i])));
|
|
||||||
((Label) cells[PLAYERNAMES][i].getActor()).setEllipsis(true);
|
|
||||||
|
|
||||||
//Tricks
|
|
||||||
cells[TRICKS][i] = add(String.valueOf(tricks.get(players[i]).size()));
|
|
||||||
((Label) cells[PLAYERNAMES][i].getActor()).setEllipsis(true);
|
|
||||||
|
|
||||||
//Scores
|
|
||||||
//TODO Rundencheck - Rundenupdate
|
|
||||||
cells[SCORES][i] = add(String.valueOf(scores.get(round).get(players[i])));
|
|
||||||
((Label) cells[PLAYERNAMES][i].getActor()).setEllipsis(true);
|
|
||||||
|
|
||||||
row();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updatePrediction(Map<UUID, Integer> predictions) {
|
|
||||||
for(int i = 0; i < players.length; i++) {
|
|
||||||
((Label) cells[PREDICTIONS][i].getActor()).setText(String.valueOf(predictions.get(players[i])));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateTricks(Map<UUID, List<List<Card>>> tricks) {
|
|
||||||
for(int i = 0; i < players.length; i++) {
|
|
||||||
((Label) cells[TRICKS][i].getActor()).setText(String.valueOf(tricks.get(players[i]).size()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateScores(Map<Integer, Map<UUID, Integer>> scores) {
|
|
||||||
for(int i = 0; i < players.length; i++) {
|
|
||||||
((Label) cells[SCORES][i].getActor()).setText(String.valueOf(scores.get(round).get(players[i])));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO - update/removePlayer
|
|
||||||
}
|
|
@ -0,0 +1,105 @@
|
|||||||
|
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.math.MathUtils;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.InputListener;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.Touchable;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.actions.ScaleToAction;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
|
||||||
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
|
||||||
|
public class PadOfTruth extends Table {
|
||||||
|
private static final float EXTENDED_WIDTH = 636;
|
||||||
|
private static final float EXTENDED_HEIGHT = 824;
|
||||||
|
private static final float SMALL_SCALE = 0.2f;
|
||||||
|
|
||||||
|
private final Label[] names = new Label[6];
|
||||||
|
private final Label[][] predictions = new Label[20][];
|
||||||
|
private final Label[][] scores = new Label[20][];
|
||||||
|
|
||||||
|
public PadOfTruth(Skin skin, Drawable background) {
|
||||||
|
super(skin);
|
||||||
|
setTouchable(Touchable.enabled);
|
||||||
|
setBackground(background);
|
||||||
|
|
||||||
|
setWidth(EXTENDED_WIDTH);
|
||||||
|
setHeight(EXTENDED_HEIGHT);
|
||||||
|
|
||||||
|
setTransform(true);
|
||||||
|
setOrigin(0, 0);
|
||||||
|
setScale(SMALL_SCALE);
|
||||||
|
|
||||||
|
addListener(new InputListener() {
|
||||||
|
private ScaleToAction action;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||||
|
if (fromActor != null && isAscendantOf(fromActor)) return;
|
||||||
|
System.out.println("ENTER");
|
||||||
|
if (action != null) action.finish();
|
||||||
|
action = new ScaleToAction();
|
||||||
|
action.setDuration(0.25f);
|
||||||
|
action.setScale(1);
|
||||||
|
addAction(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
|
||||||
|
if (toActor != null && isAscendantOf(toActor)) return;
|
||||||
|
System.out.println("EXIT");
|
||||||
|
if (action != null) action.finish();
|
||||||
|
action = new ScaleToAction();
|
||||||
|
action.setDuration(0.25f);
|
||||||
|
action.setScale(SMALL_SCALE);
|
||||||
|
addAction(action);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
setRound(false);
|
||||||
|
pad(20, 45, 25, 25);
|
||||||
|
align(Align.topLeft);
|
||||||
|
clip();
|
||||||
|
|
||||||
|
for (int i = 0; i < 6; i++) {
|
||||||
|
columnDefaults(2 * i).width(57f).center().pad(2, 4, 2, 4);
|
||||||
|
columnDefaults(2 * i + 1).width(22f).center().pad(2, 4, 2, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int player = 0; player < 6; player++) {
|
||||||
|
var cell = add("", "handwritten").height(46f).width(87f).colspan(2);
|
||||||
|
names[player] = cell.getActor();
|
||||||
|
names[player].setEllipsis(true);
|
||||||
|
}
|
||||||
|
row();
|
||||||
|
|
||||||
|
for (int round = 0; round < 20; round++) {
|
||||||
|
int players = MathUtils.clamp(60 / (round + 1), 3, 6);
|
||||||
|
predictions[round] = new Label[players];
|
||||||
|
scores[round] = new Label[players];
|
||||||
|
for (int player = 0; player < players; player++) {
|
||||||
|
scores[round][player] = add("", "handwritten").height(32.5f).center().getActor();
|
||||||
|
predictions[round][player] = add("", "handwritten").height(32.5f).center().getActor();
|
||||||
|
|
||||||
|
scores[round][player].setAlignment(Align.center);
|
||||||
|
predictions[round][player].setAlignment(Align.center);
|
||||||
|
}
|
||||||
|
row();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(int player, String name) {
|
||||||
|
names[player].setText(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setScore(int player, int round, int score) {
|
||||||
|
scores[round][player].setText(String.valueOf(score));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrediction(int player, int round, int prediction) {
|
||||||
|
predictions[round][player].setText(String.valueOf(prediction));
|
||||||
|
}
|
||||||
|
}
|
@ -1,54 +0,0 @@
|
|||||||
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
|
||||||
import eu.jonahbauer.wizard.client.libgdx.GameAtlas;
|
|
||||||
import eu.jonahbauer.wizard.client.libgdx.WizardGame;
|
|
||||||
import eu.jonahbauer.wizard.client.libgdx.screens.GameScreen;
|
|
||||||
import eu.jonahbauer.wizard.common.model.Card;
|
|
||||||
|
|
||||||
public class PlayedCardActor extends Actor {
|
|
||||||
private final Card playedCard;
|
|
||||||
private final TextureRegion texture;
|
|
||||||
|
|
||||||
public PlayedCardActor(Card playedCard, TextureAtlas atlas) {
|
|
||||||
//TODO Texture zur Karte bestimmen
|
|
||||||
this.playedCard = playedCard;
|
|
||||||
this.texture = atlas.findRegion(GameAtlas.CARDS_RED);
|
|
||||||
|
|
||||||
setWidth(100);
|
|
||||||
setHeight(100);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setPosition(float x, float y) {
|
|
||||||
super.setPosition(x, y);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPositionOne() {
|
|
||||||
setPosition(WizardGame.WIDTH * GameScreen.BACKGROUND_WIDTH_PORTION * 0.25f, WizardGame.HEIGHT * 0.5f - 0.5f * getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPositionTwo() {
|
|
||||||
setPosition(WizardGame.WIDTH * GameScreen.BACKGROUND_WIDTH_PORTION * 0.75f, WizardGame.HEIGHT * 0.5f - 0.5f * getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPositionThree() {
|
|
||||||
setPosition(WizardGame.WIDTH * GameScreen.BACKGROUND_WIDTH_PORTION * 0.25f, WizardGame.HEIGHT * 0.7f - 0.5f * getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPositionFour() {
|
|
||||||
setPosition(2 * WizardGame.WIDTH * GameScreen.BACKGROUND_WIDTH_PORTION * 0.25f, WizardGame.HEIGHT * 0.75f - 0.5f * getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPositionFive() {
|
|
||||||
setPosition(3 * WizardGame.WIDTH * GameScreen.BACKGROUND_WIDTH_PORTION * 0.25f, WizardGame.HEIGHT * 0.7f - 0.5f * getHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void draw(Batch batch, float parentAlpha) {
|
|
||||||
batch.draw(texture, getX(), getY(), getWidth(), getHeight());
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
package eu.jonahbauer.wizard.client.libgdx.actors.game;
|
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
|
||||||
import eu.jonahbauer.wizard.client.libgdx.GameAtlas;
|
|
||||||
import eu.jonahbauer.wizard.common.model.Card;
|
|
||||||
|
|
||||||
public class TrumpCardActor extends Actor {
|
|
||||||
private final Card trumpCard;
|
|
||||||
private final TextureRegion texture;
|
|
||||||
|
|
||||||
public TrumpCardActor(Card trumpCard, TextureAtlas atlas) {
|
|
||||||
//TODO Texture zur Karte bestimmen
|
|
||||||
this.trumpCard = trumpCard;
|
|
||||||
this.texture = atlas.findRegion(GameAtlas.CARDS_RED);
|
|
||||||
|
|
||||||
setWidth(200);
|
|
||||||
setHeight(200);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void draw(Batch batch, float parentAlpha) {
|
|
||||||
batch.draw(texture, getX(), getY(), getWidth(), getHeight());
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,201 @@
|
|||||||
|
info face="Romantick" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=1,1,1,1 spacing=-2,-2
|
||||||
|
common lineHeight=40 base=26 scaleW=256 scaleH=256 pages=1 packed=0
|
||||||
|
page id=0 file="handwritten.png"
|
||||||
|
chars count=195
|
||||||
|
char id=0 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0
|
||||||
|
char id=13 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=0 page=0 chnl=0
|
||||||
|
char id=33 x=251 y=0 width=4 height=23 xoffset=-1 yoffset=6 xadvance=3 page=0 chnl=0
|
||||||
|
char id=34 x=214 y=160 width=7 height=8 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||||
|
char id=35 x=97 y=140 width=10 height=18 xoffset=-1 yoffset=11 xadvance=10 page=0 chnl=0
|
||||||
|
char id=36 x=30 y=117 width=7 height=22 xoffset=-1 yoffset=8 xadvance=7 page=0 chnl=0
|
||||||
|
char id=37 x=37 y=117 width=9 height=22 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||||
|
char id=38 x=196 y=117 width=11 height=20 xoffset=-1 yoffset=9 xadvance=9 page=0 chnl=0
|
||||||
|
char id=39 x=234 y=160 width=6 height=7 xoffset=-1 yoffset=7 xadvance=4 page=0 chnl=0
|
||||||
|
char id=40 x=193 y=91 width=6 height=23 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=41 x=199 y=91 width=6 height=23 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=42 x=151 y=160 width=7 height=11 xoffset=0 yoffset=8 xadvance=7 page=0 chnl=0
|
||||||
|
char id=43 x=186 y=160 width=9 height=10 xoffset=0 yoffset=13 xadvance=9 page=0 chnl=0
|
||||||
|
char id=44 x=240 y=160 width=7 height=7 xoffset=-1 yoffset=23 xadvance=5 page=0 chnl=0
|
||||||
|
char id=45 x=69 y=176 width=9 height=4 xoffset=-1 yoffset=20 xadvance=8 page=0 chnl=0
|
||||||
|
char id=46 x=51 y=176 width=5 height=5 xoffset=-1 yoffset=23 xadvance=4 page=0 chnl=0
|
||||||
|
char id=47 x=72 y=91 width=12 height=24 xoffset=-2 yoffset=5 xadvance=8 page=0 chnl=0
|
||||||
|
char id=48 x=207 y=117 width=9 height=20 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=0
|
||||||
|
char id=49 x=107 y=117 width=4 height=21 xoffset=0 yoffset=7 xadvance=4 page=0 chnl=0
|
||||||
|
char id=50 x=111 y=117 width=9 height=21 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=0
|
||||||
|
char id=51 x=205 y=91 width=8 height=23 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||||
|
char id=52 x=46 y=117 width=10 height=22 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
||||||
|
char id=53 x=56 y=117 width=9 height=22 xoffset=0 yoffset=7 xadvance=9 page=0 chnl=0
|
||||||
|
char id=54 x=65 y=117 width=9 height=22 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
|
||||||
|
char id=55 x=213 y=91 width=8 height=23 xoffset=-1 yoffset=7 xadvance=7 page=0 chnl=0
|
||||||
|
char id=56 x=120 y=117 width=9 height=21 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=0
|
||||||
|
char id=57 x=74 y=117 width=7 height=22 xoffset=0 yoffset=6 xadvance=7 page=0 chnl=0
|
||||||
|
char id=58 x=195 y=160 width=5 height=10 xoffset=-1 yoffset=18 xadvance=4 page=0 chnl=0
|
||||||
|
char id=59 x=113 y=160 width=6 height=12 xoffset=-1 yoffset=18 xadvance=4 page=0 chnl=0
|
||||||
|
char id=60 x=86 y=160 width=10 height=13 xoffset=-1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||||
|
char id=61 x=0 y=176 width=10 height=7 xoffset=-1 yoffset=15 xadvance=9 page=0 chnl=0
|
||||||
|
char id=62 x=96 y=160 width=10 height=13 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
||||||
|
char id=63 x=129 y=117 width=8 height=21 xoffset=0 yoffset=7 xadvance=8 page=0 chnl=0
|
||||||
|
char id=64 x=194 y=140 width=10 height=16 xoffset=0 yoffset=12 xadvance=10 page=0 chnl=0
|
||||||
|
char id=65 x=121 y=64 width=16 height=26 xoffset=-2 yoffset=6 xadvance=12 page=0 chnl=0
|
||||||
|
char id=66 x=137 y=64 width=14 height=26 xoffset=-1 yoffset=5 xadvance=13 page=0 chnl=0
|
||||||
|
char id=67 x=177 y=34 width=12 height=28 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=68 x=151 y=64 width=14 height=26 xoffset=-1 yoffset=6 xadvance=13 page=0 chnl=0
|
||||||
|
char id=69 x=225 y=34 width=10 height=27 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||||
|
char id=70 x=165 y=64 width=20 height=26 xoffset=-1 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=71 x=235 y=34 width=16 height=27 xoffset=0 yoffset=5 xadvance=10 page=0 chnl=0
|
||||||
|
char id=72 x=127 y=0 width=19 height=31 xoffset=-1 yoffset=4 xadvance=16 page=0 chnl=0
|
||||||
|
char id=73 x=0 y=64 width=12 height=27 xoffset=-1 yoffset=7 xadvance=9 page=0 chnl=0
|
||||||
|
char id=74 x=12 y=64 width=12 height=27 xoffset=-1 yoffset=7 xadvance=10 page=0 chnl=0
|
||||||
|
char id=75 x=189 y=34 width=13 height=28 xoffset=0 yoffset=4 xadvance=12 page=0 chnl=0
|
||||||
|
char id=76 x=185 y=64 width=15 height=26 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=77 x=24 y=64 width=12 height=27 xoffset=-1 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=78 x=84 y=91 width=17 height=24 xoffset=0 yoffset=7 xadvance=13 page=0 chnl=0
|
||||||
|
char id=79 x=36 y=64 width=11 height=27 xoffset=0 yoffset=5 xadvance=11 page=0 chnl=0
|
||||||
|
char id=80 x=200 y=64 width=12 height=26 xoffset=-1 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=81 x=146 y=0 width=13 height=31 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0
|
||||||
|
char id=82 x=47 y=64 width=14 height=27 xoffset=-1 yoffset=5 xadvance=13 page=0 chnl=0
|
||||||
|
char id=83 x=212 y=64 width=9 height=26 xoffset=0 yoffset=5 xadvance=8 page=0 chnl=0
|
||||||
|
char id=84 x=221 y=64 width=33 height=26 xoffset=-4 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=85 x=202 y=34 width=10 height=28 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||||
|
char id=86 x=61 y=64 width=12 height=27 xoffset=-1 yoffset=5 xadvance=9 page=0 chnl=0
|
||||||
|
char id=87 x=73 y=64 width=13 height=27 xoffset=0 yoffset=5 xadvance=13 page=0 chnl=0
|
||||||
|
char id=88 x=212 y=34 width=13 height=28 xoffset=-1 yoffset=4 xadvance=9 page=0 chnl=0
|
||||||
|
char id=89 x=0 y=34 width=8 height=30 xoffset=0 yoffset=5 xadvance=9 page=0 chnl=0
|
||||||
|
char id=90 x=25 y=91 width=13 height=25 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||||
|
char id=91 x=221 y=91 width=8 height=23 xoffset=-1 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=92 x=101 y=91 width=12 height=24 xoffset=-2 yoffset=5 xadvance=8 page=0 chnl=0
|
||||||
|
char id=93 x=81 y=117 width=6 height=22 xoffset=0 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=94 x=119 y=160 width=8 height=12 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||||
|
char id=95 x=78 y=176 width=13 height=4 xoffset=-1 yoffset=26 xadvance=12 page=0 chnl=0
|
||||||
|
char id=96 x=91 y=176 width=7 height=4 xoffset=-1 yoffset=10 xadvance=5 page=0 chnl=0
|
||||||
|
char id=97 x=56 y=160 width=7 height=14 xoffset=0 yoffset=14 xadvance=6 page=0 chnl=0
|
||||||
|
char id=98 x=86 y=64 width=8 height=27 xoffset=0 yoffset=4 xadvance=8 page=0 chnl=0
|
||||||
|
char id=99 x=168 y=140 width=8 height=17 xoffset=0 yoffset=12 xadvance=7 page=0 chnl=0
|
||||||
|
char id=100 x=113 y=91 width=8 height=24 xoffset=0 yoffset=6 xadvance=8 page=0 chnl=0
|
||||||
|
char id=101 x=204 y=140 width=8 height=16 xoffset=-1 yoffset=14 xadvance=7 page=0 chnl=0
|
||||||
|
char id=102 x=159 y=0 width=12 height=31 xoffset=-1 yoffset=4 xadvance=11 page=0 chnl=0
|
||||||
|
char id=103 x=229 y=91 width=17 height=23 xoffset=-6 yoffset=14 xadvance=7 page=0 chnl=0
|
||||||
|
char id=104 x=246 y=91 width=8 height=23 xoffset=-1 yoffset=6 xadvance=7 page=0 chnl=0
|
||||||
|
char id=105 x=32 y=160 width=5 height=15 xoffset=-1 yoffset=11 xadvance=4 page=0 chnl=0
|
||||||
|
char id=106 x=171 y=34 width=6 height=29 xoffset=-2 yoffset=7 xadvance=4 page=0 chnl=0
|
||||||
|
char id=107 x=38 y=91 width=9 height=25 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||||
|
char id=108 x=94 y=64 width=7 height=27 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||||
|
char id=109 x=216 y=117 width=12 height=20 xoffset=0 yoffset=11 xadvance=13 page=0 chnl=0
|
||||||
|
char id=110 x=212 y=140 width=10 height=16 xoffset=-1 yoffset=14 xadvance=8 page=0 chnl=0
|
||||||
|
char id=111 x=106 y=160 width=7 height=13 xoffset=0 yoffset=16 xadvance=6 page=0 chnl=0
|
||||||
|
char id=112 x=87 y=117 width=7 height=22 xoffset=0 yoffset=14 xadvance=8 page=0 chnl=0
|
||||||
|
char id=113 x=121 y=91 width=8 height=24 xoffset=0 yoffset=13 xadvance=7 page=0 chnl=0
|
||||||
|
char id=114 x=222 y=140 width=8 height=16 xoffset=0 yoffset=13 xadvance=7 page=0 chnl=0
|
||||||
|
char id=115 x=107 y=140 width=8 height=18 xoffset=-1 yoffset=12 xadvance=6 page=0 chnl=0
|
||||||
|
char id=116 x=0 y=117 width=9 height=23 xoffset=-2 yoffset=7 xadvance=7 page=0 chnl=0
|
||||||
|
char id=117 x=115 y=140 width=9 height=18 xoffset=-1 yoffset=13 xadvance=7 page=0 chnl=0
|
||||||
|
char id=118 x=124 y=140 width=8 height=18 xoffset=-1 yoffset=12 xadvance=6 page=0 chnl=0
|
||||||
|
char id=119 x=230 y=140 width=10 height=16 xoffset=0 yoffset=12 xadvance=9 page=0 chnl=0
|
||||||
|
char id=120 x=158 y=160 width=10 height=11 xoffset=-1 yoffset=17 xadvance=7 page=0 chnl=0
|
||||||
|
char id=121 x=101 y=64 width=11 height=27 xoffset=-1 yoffset=13 xadvance=9 page=0 chnl=0
|
||||||
|
char id=122 x=63 y=160 width=8 height=14 xoffset=0 yoffset=15 xadvance=8 page=0 chnl=0
|
||||||
|
char id=123 x=129 y=91 width=7 height=24 xoffset=0 yoffset=5 xadvance=7 page=0 chnl=0
|
||||||
|
char id=124 x=251 y=34 width=3 height=24 xoffset=0 yoffset=5 xadvance=3 page=0 chnl=0
|
||||||
|
char id=125 x=136 y=91 width=7 height=24 xoffset=-1 yoffset=5 xadvance=6 page=0 chnl=0
|
||||||
|
char id=126 x=200 y=160 width=10 height=10 xoffset=0 yoffset=13 xadvance=9 page=0 chnl=0
|
||||||
|
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=0 xadvance=4 page=0 chnl=0
|
||||||
|
char id=161 x=9 y=117 width=4 height=23 xoffset=0 yoffset=14 xadvance=3 page=0 chnl=0
|
||||||
|
char id=162 x=71 y=160 width=8 height=14 xoffset=0 yoffset=12 xadvance=8 page=0 chnl=0
|
||||||
|
char id=163 x=26 y=140 width=9 height=19 xoffset=0 yoffset=8 xadvance=9 page=0 chnl=0
|
||||||
|
char id=165 x=132 y=140 width=8 height=18 xoffset=0 yoffset=9 xadvance=8 page=0 chnl=0
|
||||||
|
char id=166 x=94 y=117 width=4 height=22 xoffset=0 yoffset=7 xadvance=4 page=0 chnl=0
|
||||||
|
char id=168 x=98 y=176 width=7 height=4 xoffset=0 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=169 x=240 y=140 width=12 height=16 xoffset=0 yoffset=10 xadvance=12 page=0 chnl=0
|
||||||
|
char id=171 x=127 y=160 width=12 height=12 xoffset=-1 yoffset=15 xadvance=10 page=0 chnl=0
|
||||||
|
char id=174 x=37 y=160 width=12 height=15 xoffset=0 yoffset=6 xadvance=12 page=0 chnl=0
|
||||||
|
char id=176 x=221 y=160 width=7 height=8 xoffset=0 yoffset=8 xadvance=6 page=0 chnl=0
|
||||||
|
char id=180 x=105 y=176 width=7 height=4 xoffset=-1 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=184 x=228 y=160 width=6 height=8 xoffset=-1 yoffset=23 xadvance=5 page=0 chnl=0
|
||||||
|
char id=187 x=139 y=160 width=12 height=12 xoffset=-1 yoffset=15 xadvance=10 page=0 chnl=0
|
||||||
|
char id=191 x=137 y=117 width=8 height=21 xoffset=0 yoffset=15 xadvance=8 page=0 chnl=0
|
||||||
|
char id=192 x=8 y=34 width=16 height=30 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=0
|
||||||
|
char id=193 x=24 y=34 width=16 height=30 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=0
|
||||||
|
char id=194 x=38 y=0 width=16 height=32 xoffset=-2 yoffset=0 xadvance=13 page=0 chnl=0
|
||||||
|
char id=195 x=171 y=0 width=16 height=31 xoffset=-2 yoffset=1 xadvance=13 page=0 chnl=0
|
||||||
|
char id=196 x=40 y=34 width=16 height=30 xoffset=-2 yoffset=2 xadvance=13 page=0 chnl=0
|
||||||
|
char id=197 x=54 y=0 width=16 height=32 xoffset=-2 yoffset=0 xadvance=13 page=0 chnl=0
|
||||||
|
char id=198 x=13 y=117 width=17 height=23 xoffset=0 yoffset=6 xadvance=15 page=0 chnl=0
|
||||||
|
char id=199 x=187 y=0 width=13 height=31 xoffset=0 yoffset=6 xadvance=11 page=0 chnl=0
|
||||||
|
char id=200 x=56 y=34 width=10 height=30 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=201 x=66 y=34 width=10 height=30 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=202 x=70 y=0 width=10 height=32 xoffset=0 yoffset=0 xadvance=9 page=0 chnl=0
|
||||||
|
char id=203 x=200 y=0 width=10 height=31 xoffset=0 yoffset=1 xadvance=9 page=0 chnl=0
|
||||||
|
char id=204 x=80 y=0 width=12 height=32 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=205 x=92 y=0 width=12 height=32 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=206 x=0 y=0 width=12 height=34 xoffset=-1 yoffset=0 xadvance=9 page=0 chnl=0
|
||||||
|
char id=207 x=104 y=0 width=12 height=32 xoffset=-1 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=208 x=47 y=91 width=15 height=25 xoffset=-2 yoffset=6 xadvance=13 page=0 chnl=0
|
||||||
|
char id=209 x=76 y=34 width=17 height=30 xoffset=0 yoffset=1 xadvance=13 page=0 chnl=0
|
||||||
|
char id=210 x=93 y=34 width=11 height=30 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||||
|
char id=211 x=104 y=34 width=11 height=30 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||||
|
char id=212 x=116 y=0 width=11 height=32 xoffset=0 yoffset=0 xadvance=11 page=0 chnl=0
|
||||||
|
char id=213 x=210 y=0 width=11 height=31 xoffset=0 yoffset=1 xadvance=11 page=0 chnl=0
|
||||||
|
char id=214 x=115 y=34 width=11 height=30 xoffset=0 yoffset=2 xadvance=11 page=0 chnl=0
|
||||||
|
char id=216 x=143 y=91 width=11 height=24 xoffset=-1 yoffset=6 xadvance=9 page=0 chnl=0
|
||||||
|
char id=217 x=221 y=0 width=10 height=31 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0
|
||||||
|
char id=218 x=231 y=0 width=10 height=31 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0
|
||||||
|
char id=219 x=12 y=0 width=10 height=33 xoffset=-1 yoffset=0 xadvance=10 page=0 chnl=0
|
||||||
|
char id=220 x=241 y=0 width=10 height=31 xoffset=-1 yoffset=2 xadvance=10 page=0 chnl=0
|
||||||
|
char id=221 x=22 y=0 width=8 height=33 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=222 x=154 y=91 width=13 height=24 xoffset=-1 yoffset=5 xadvance=12 page=0 chnl=0
|
||||||
|
char id=223 x=35 y=140 width=7 height=19 xoffset=0 yoffset=12 xadvance=7 page=0 chnl=0
|
||||||
|
char id=224 x=140 y=140 width=7 height=18 xoffset=0 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=225 x=147 y=140 width=7 height=18 xoffset=0 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=226 x=42 y=140 width=7 height=19 xoffset=0 yoffset=9 xadvance=7 page=0 chnl=0
|
||||||
|
char id=227 x=154 y=140 width=7 height=18 xoffset=0 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=228 x=161 y=140 width=7 height=18 xoffset=0 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=229 x=49 y=140 width=7 height=19 xoffset=0 yoffset=9 xadvance=7 page=0 chnl=0
|
||||||
|
char id=230 x=0 y=160 width=11 height=16 xoffset=0 yoffset=13 xadvance=10 page=0 chnl=0
|
||||||
|
char id=231 x=145 y=117 width=8 height=21 xoffset=0 yoffset=12 xadvance=7 page=0 chnl=0
|
||||||
|
char id=232 x=228 y=117 width=8 height=20 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=233 x=236 y=117 width=8 height=20 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=234 x=153 y=117 width=8 height=21 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0
|
||||||
|
char id=235 x=244 y=117 width=8 height=20 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=236 x=11 y=160 width=7 height=16 xoffset=-2 yoffset=10 xadvance=4 page=0 chnl=0
|
||||||
|
char id=237 x=18 y=160 width=7 height=16 xoffset=-2 yoffset=10 xadvance=4 page=0 chnl=0
|
||||||
|
char id=238 x=176 y=140 width=7 height=17 xoffset=-2 yoffset=9 xadvance=4 page=0 chnl=0
|
||||||
|
char id=239 x=25 y=160 width=7 height=16 xoffset=-1 yoffset=10 xadvance=4 page=0 chnl=0
|
||||||
|
char id=240 x=49 y=160 width=7 height=15 xoffset=0 yoffset=14 xadvance=7 page=0 chnl=0
|
||||||
|
char id=241 x=0 y=140 width=10 height=20 xoffset=-1 yoffset=10 xadvance=8 page=0 chnl=0
|
||||||
|
char id=242 x=56 y=140 width=8 height=19 xoffset=-1 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=243 x=64 y=140 width=8 height=19 xoffset=-1 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=244 x=10 y=140 width=8 height=20 xoffset=-1 yoffset=9 xadvance=6 page=0 chnl=0
|
||||||
|
char id=245 x=72 y=140 width=7 height=19 xoffset=0 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=246 x=79 y=140 width=7 height=19 xoffset=0 yoffset=10 xadvance=6 page=0 chnl=0
|
||||||
|
char id=248 x=79 y=160 width=7 height=14 xoffset=0 yoffset=15 xadvance=7 page=0 chnl=0
|
||||||
|
char id=249 x=161 y=117 width=9 height=21 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=250 x=170 y=117 width=9 height=21 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=251 x=98 y=117 width=9 height=22 xoffset=-1 yoffset=9 xadvance=7 page=0 chnl=0
|
||||||
|
char id=252 x=179 y=117 width=9 height=21 xoffset=-1 yoffset=10 xadvance=7 page=0 chnl=0
|
||||||
|
char id=253 x=126 y=34 width=11 height=30 xoffset=-1 yoffset=10 xadvance=9 page=0 chnl=0
|
||||||
|
char id=254 x=112 y=64 width=9 height=27 xoffset=-1 yoffset=5 xadvance=7 page=0 chnl=0
|
||||||
|
char id=255 x=137 y=34 width=11 height=30 xoffset=-1 yoffset=10 xadvance=9 page=0 chnl=0
|
||||||
|
char id=305 x=210 y=160 width=4 height=9 xoffset=0 yoffset=17 xadvance=4 page=0 chnl=0
|
||||||
|
char id=321 x=0 y=91 width=17 height=26 xoffset=-2 yoffset=6 xadvance=6 page=0 chnl=0
|
||||||
|
char id=322 x=17 y=91 width=8 height=26 xoffset=-2 yoffset=5 xadvance=5 page=0 chnl=0
|
||||||
|
char id=338 x=167 y=91 width=15 height=24 xoffset=0 yoffset=5 xadvance=15 page=0 chnl=0
|
||||||
|
char id=339 x=183 y=140 width=11 height=17 xoffset=0 yoffset=14 xadvance=10 page=0 chnl=0
|
||||||
|
char id=352 x=148 y=34 width=9 height=30 xoffset=0 yoffset=1 xadvance=8 page=0 chnl=0
|
||||||
|
char id=353 x=188 y=117 width=8 height=21 xoffset=-1 yoffset=9 xadvance=6 page=0 chnl=0
|
||||||
|
char id=376 x=30 y=0 width=8 height=33 xoffset=0 yoffset=2 xadvance=9 page=0 chnl=0
|
||||||
|
char id=381 x=157 y=34 width=14 height=30 xoffset=-1 yoffset=1 xadvance=8 page=0 chnl=0
|
||||||
|
char id=382 x=18 y=140 width=8 height=20 xoffset=0 yoffset=9 xadvance=8 page=0 chnl=0
|
||||||
|
char id=8216 x=247 y=160 width=7 height=7 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||||
|
char id=8217 x=10 y=176 width=7 height=7 xoffset=-1 yoffset=5 xadvance=5 page=0 chnl=0
|
||||||
|
char id=8218 x=17 y=176 width=7 height=7 xoffset=-1 yoffset=23 xadvance=5 page=0 chnl=0
|
||||||
|
char id=8220 x=24 y=176 width=9 height=7 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||||
|
char id=8221 x=33 y=176 width=9 height=7 xoffset=-1 yoffset=5 xadvance=8 page=0 chnl=0
|
||||||
|
char id=8222 x=42 y=176 width=9 height=7 xoffset=-1 yoffset=23 xadvance=8 page=0 chnl=0
|
||||||
|
char id=8224 x=182 y=91 width=11 height=24 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||||
|
char id=8225 x=62 y=91 width=10 height=25 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0
|
||||||
|
char id=8230 x=56 y=176 width=13 height=5 xoffset=-1 yoffset=23 xadvance=12 page=0 chnl=0
|
||||||
|
char id=8249 x=168 y=160 width=9 height=11 xoffset=-1 yoffset=16 xadvance=7 page=0 chnl=0
|
||||||
|
char id=8250 x=177 y=160 width=9 height=11 xoffset=-1 yoffset=15 xadvance=7 page=0 chnl=0
|
||||||
|
char id=8364 x=86 y=140 width=11 height=19 xoffset=0 yoffset=9 xadvance=11 page=0 chnl=0
|
||||||
|
kernings count=1
|
||||||
|
kerning first=75 second=65 amount=-2
|
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 152 B |
Before Width: | Height: | Size: 1002 B |
After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 1003 B |
After Width: | Height: | Size: 142 B |
Before Width: | Height: | Size: 1003 B |
After Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 1003 B |
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"maxWidth": 2048,
|
||||||
|
"maxHeight": 2048,
|
||||||
|
"filterMin": "MipMap",
|
||||||
|
"filterMag": "Linear"
|
||||||
|
}
|
After Width: | Height: | Size: 288 KiB |