mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
Merge branch 'master' into 'master'
update touch controls for adventure rewards See merge request core-developers/forge!6278
This commit is contained in:
@@ -303,6 +303,8 @@ public class Forge implements ApplicationListener {
|
||||
startContinuousRendering();
|
||||
GuiBase.setIsAdventureMode(true);
|
||||
isMobileAdventureMode = true;
|
||||
if (GuiBase.isAndroid()) //force it for adventure mode
|
||||
altZoneTabs = true;
|
||||
//pixl cursor for adventure
|
||||
setCursor(null, "0");
|
||||
try {
|
||||
|
||||
@@ -3,6 +3,7 @@ package forge.adventure.scene;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import forge.Forge;
|
||||
import forge.adventure.stage.GameHUD;
|
||||
import forge.adventure.util.Current;
|
||||
|
||||
/**
|
||||
@@ -18,6 +19,7 @@ public class InnScene extends UIScene {
|
||||
|
||||
public void done()
|
||||
{
|
||||
GameHUD.getInstance().getTouchpad().setVisible(false);
|
||||
Forge.switchToLast();
|
||||
}
|
||||
public void heal()
|
||||
|
||||
@@ -11,6 +11,7 @@ import forge.Forge;
|
||||
import forge.adventure.character.ShopActor;
|
||||
import forge.adventure.player.AdventurePlayer;
|
||||
import forge.adventure.pointofintrest.PointOfInterestChanges;
|
||||
import forge.adventure.stage.GameHUD;
|
||||
import forge.adventure.util.CardUtil;
|
||||
import forge.adventure.util.Current;
|
||||
import forge.adventure.util.Reward;
|
||||
@@ -45,6 +46,7 @@ public class RewardScene extends UIScene {
|
||||
float flipCountDown=1.0f;
|
||||
public boolean done()
|
||||
{
|
||||
GameHUD.getInstance().getTouchpad().setVisible(false);
|
||||
if(doneClicked)
|
||||
return true;
|
||||
|
||||
|
||||
@@ -55,7 +55,8 @@ public class SaveLoadScene extends UIScene {
|
||||
|
||||
|
||||
private TextButton addSaveSlot(String name, int i) {
|
||||
layout.add(Controls.newLabel(name));
|
||||
layout.add(Controls.newLabel(name)).colspan(1).align(Align.right).expandX();
|
||||
layout.add(Controls.newLabel(" "));
|
||||
TextButton button = Controls.newTextButton("...");
|
||||
button.addListener(new ClickListener() {
|
||||
@Override
|
||||
@@ -68,7 +69,7 @@ public class SaveLoadScene extends UIScene {
|
||||
}
|
||||
}
|
||||
});
|
||||
layout.add(button).expandX();
|
||||
layout.add(button).colspan(2).align(Align.left).expandX();
|
||||
buttons.put(i, button);
|
||||
layout.row();
|
||||
return button;
|
||||
@@ -223,7 +224,7 @@ public class SaveLoadScene extends UIScene {
|
||||
previewImage = ui.findActor("preview");
|
||||
header = Controls.newLabel("Save");
|
||||
header.setHeight(header.getHeight() * 2);
|
||||
layout.add(header).colspan(2).align(Align.center);
|
||||
layout.add(header).colspan(3).align(Align.center).expand();
|
||||
layout.row();
|
||||
autoSave=addSaveSlot("Auto save", WorldSave.AUTO_SAVE_SLOT);
|
||||
quickSave=addSaveSlot("Quick save", WorldSave.QUICK_SAVE_SLOT);
|
||||
|
||||
@@ -229,8 +229,11 @@ public class SettingsScene extends UIScene {
|
||||
addCheckBox(localizer.getMessage("cbImageFetcher"), ForgePreferences.FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER);
|
||||
|
||||
|
||||
if (!GuiBase.isAndroid()) {
|
||||
addCheckBox(localizer.getMessage("lblBattlefieldTextureFiltering"), ForgePreferences.FPref.UI_LIBGDX_TEXTURE_FILTERING);
|
||||
addCheckBox(localizer.getMessage("lblAltZoneTabs"), ForgePreferences.FPref.UI_ALT_PLAYERZONETABS);
|
||||
}
|
||||
|
||||
addCheckBox(localizer.getMessage("lblAnimatedCardTapUntap"), ForgePreferences.FPref.UI_ANIMATED_CARD_TAPUNTAP);
|
||||
if (!GuiBase.isAndroid()) {
|
||||
addCheckBox(localizer.getMessage("lblBorderMaskOption"), ForgePreferences.FPref.UI_ENABLE_BORDER_MASKING);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package forge.adventure.scene;
|
||||
|
||||
import forge.adventure.stage.GameHUD;
|
||||
import forge.screens.FScreen;
|
||||
|
||||
/**
|
||||
@@ -22,6 +23,7 @@ public class ShopScene extends ForgeScene {
|
||||
|
||||
@Override
|
||||
public void enter() {
|
||||
GameHUD.getInstance().getTouchpad().setVisible(false);
|
||||
getScreen();
|
||||
screen.refresh();
|
||||
super.enter();
|
||||
|
||||
@@ -139,6 +139,10 @@ public class GameHUD extends Stage {
|
||||
return instance == null ? instance = new GameHUD(WorldStage.getInstance()) : instance;
|
||||
}
|
||||
|
||||
public Touchpad getTouchpad() {
|
||||
return touchpad;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
|
||||
touchpad.setVisible(false);
|
||||
|
||||
@@ -12,9 +12,12 @@ import com.badlogic.gdx.math.Vector3;
|
||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Tooltip;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||
import com.badlogic.gdx.utils.Align;
|
||||
import com.badlogic.gdx.utils.Disposable;
|
||||
import forge.Forge;
|
||||
import forge.adventure.scene.RewardScene;
|
||||
@@ -26,10 +29,10 @@ import forge.util.ImageFetcher;
|
||||
|
||||
/**
|
||||
* Render the rewards as a card on the reward scene.
|
||||
*
|
||||
*/
|
||||
public class RewardActor extends Actor implements Disposable, ImageFetcher.Callback {
|
||||
Tooltip<Image> tooltip;
|
||||
HoldTooltip holdTooltip;
|
||||
Reward reward;
|
||||
|
||||
static TextureRegion backTexture;
|
||||
@@ -42,12 +45,11 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
|
||||
static final ImageFetcher fetcher = GuiBase.getInterface().getImageFetcher();
|
||||
Image toolTipImage;
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
|
||||
if (needsToBeDisposed)
|
||||
image.dispose();
|
||||
|
||||
}
|
||||
|
||||
public Reward getReward() {
|
||||
@@ -59,34 +61,25 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false), false));
|
||||
}
|
||||
|
||||
public RewardActor(Reward reward,boolean flippable)
|
||||
{
|
||||
|
||||
public RewardActor(Reward reward, boolean flippable) {
|
||||
this.flipOnClick = flippable;
|
||||
this.reward = reward;
|
||||
if(backTexture==null)
|
||||
{
|
||||
if (backTexture == null) {
|
||||
backTexture = FSkin.getSleeves().get(0);
|
||||
}
|
||||
switch (reward.type)
|
||||
{
|
||||
case Card:
|
||||
if(ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)))
|
||||
{
|
||||
switch (reward.type) {
|
||||
case Card: {
|
||||
if (ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false))) {
|
||||
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false), false));
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
|
||||
if (!ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false))) {
|
||||
fetcher.fetchImage(reward.getCard().getImageKey(false), this);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case Gold:
|
||||
{
|
||||
|
||||
}
|
||||
case Gold: {
|
||||
TextureAtlas atlas = Config.instance().getAtlas("sprites/items.atlas");
|
||||
Sprite backSprite = atlas.createSprite("CardBack");
|
||||
Pixmap drawingMap = new Pixmap((int) backSprite.getWidth(), (int) backSprite.getHeight(), Pixmap.Format.RGBA8888);
|
||||
@@ -101,8 +94,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
needsToBeDisposed = true;
|
||||
break;
|
||||
}
|
||||
case Life:
|
||||
{
|
||||
case Life: {
|
||||
TextureAtlas atlas = Config.instance().getAtlas("sprites/items.atlas");
|
||||
Sprite backSprite = atlas.createSprite("CardBack");
|
||||
Pixmap drawingMap = new Pixmap((int) backSprite.getWidth(), (int) backSprite.getHeight(), Pixmap.Format.RGBA8888);
|
||||
@@ -124,10 +116,12 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
if (flipOnClick)
|
||||
flip();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||
hover = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exit(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||
hover = false;
|
||||
@@ -139,50 +133,60 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
image = img;
|
||||
if (Forge.isTextureFilteringEnabled())
|
||||
image.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
||||
TextureRegionDrawable drawable=new TextureRegionDrawable(new TextureRegion(image));
|
||||
TextureRegionDrawable drawable = new TextureRegionDrawable(ImageCache.croppedBorderImage(image));
|
||||
drawable.setMinSize((Scene.GetIntendedHeight() / RewardScene.CARD_WIDTH_TO_HEIGHT) * 0.95f, Scene.GetIntendedHeight() * 0.95f);
|
||||
toolTipImage = new Image(drawable);
|
||||
tooltip = new Tooltip<Image>(toolTipImage);
|
||||
holdTooltip = new HoldTooltip(new Image(drawable));
|
||||
tooltip.setInstant(true);
|
||||
if(frontSideUp())
|
||||
if (frontSideUp()) {
|
||||
if (GuiBase.isAndroid())
|
||||
addListener(holdTooltip);
|
||||
else
|
||||
addListener(tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean frontSideUp() {
|
||||
return (flipProcess >= 0.5f) == flipOnClick;
|
||||
}
|
||||
|
||||
public boolean isFlipped() {
|
||||
|
||||
return (clicked && flipProcess >= 1);
|
||||
}
|
||||
public void flip() {
|
||||
|
||||
public void flip() {
|
||||
if (clicked)
|
||||
return;
|
||||
clicked = true;
|
||||
flipProcess = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void act(float delta)
|
||||
{
|
||||
public void act(float delta) {
|
||||
super.act(delta);
|
||||
if(clicked)
|
||||
{
|
||||
if (clicked) {
|
||||
if (flipProcess < 1)
|
||||
flipProcess += delta;
|
||||
else
|
||||
flipProcess = 1;
|
||||
|
||||
if(tooltip!=null&&frontSideUp()&&!getListeners().contains(tooltip,true))
|
||||
if (GuiBase.isAndroid()) {
|
||||
if (holdTooltip != null && frontSideUp() && !getListeners().contains(holdTooltip, true)) {
|
||||
addListener(holdTooltip);
|
||||
}
|
||||
} else {
|
||||
if (tooltip != null && frontSideUp() && !getListeners().contains(tooltip, true)) {
|
||||
addListener(tooltip);
|
||||
}
|
||||
}
|
||||
// flipProcess=(float)Gdx.input.getX()/ (float)Gdx.graphics.getWidth();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Batch batch, float parentAlpha) {
|
||||
|
||||
applyTransform(batch, computeTransform(batch.getTransformMatrix().cpy()));
|
||||
|
||||
oldProjectionTransform.set(batch.getProjectionMatrix());
|
||||
@@ -192,12 +196,9 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
if (hover)
|
||||
batch.setColor(0.5f, 0.5f, 0.5f, 1);
|
||||
|
||||
if(!frontSideUp())
|
||||
{
|
||||
if (!frontSideUp()) {
|
||||
batch.draw(backTexture, -getWidth() / 2, -getHeight() / 2, getWidth(), getHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
drawFrontSide(batch);
|
||||
}
|
||||
batch.setColor(1, 1, 1, 1);
|
||||
@@ -206,26 +207,22 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
}
|
||||
|
||||
private void drawFrontSide(Batch batch) {
|
||||
|
||||
float width;
|
||||
float x;
|
||||
if(flipOnClick)
|
||||
{
|
||||
if (flipOnClick) {
|
||||
width = -getWidth();
|
||||
x = -getWidth() / 2 + getWidth();
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
width = getWidth();
|
||||
x = -getWidth() / 2;
|
||||
}
|
||||
|
||||
if (image != null)
|
||||
batch.draw(image,x,-getHeight()/2,width,getHeight());
|
||||
if (image != null) {
|
||||
batch.draw(ImageCache.croppedBorderImage(image), x, -getHeight() / 2, width, getHeight());
|
||||
}
|
||||
else
|
||||
batch.draw(ImageCache.defaultImage, x, -getHeight() / 2, width, getHeight());
|
||||
switch (reward.getType())
|
||||
{
|
||||
switch (reward.getType()) {
|
||||
case Card:
|
||||
|
||||
break;
|
||||
@@ -237,7 +234,6 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
}
|
||||
|
||||
private void applyProjectionMatrix(Batch batch) {
|
||||
|
||||
final Vector3 direction = new Vector3(0, 0, -1);
|
||||
final Vector3 up = new Vector3(0, 1, 0);
|
||||
//final Vector3 position = new Vector3( getX()+getWidth()/2 , getY()+getHeight()/2, 0);
|
||||
@@ -262,39 +258,69 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
}
|
||||
|
||||
|
||||
|
||||
private final Matrix4 computedTransform = new Matrix4();
|
||||
private final Matrix4 oldTransform = new Matrix4();
|
||||
private final Matrix4 oldProjectionTransform = new Matrix4();
|
||||
|
||||
protected void applyTransform (Batch batch, Matrix4 transform)
|
||||
{
|
||||
protected void applyTransform(Batch batch, Matrix4 transform) {
|
||||
oldTransform.set(batch.getTransformMatrix());
|
||||
batch.setTransformMatrix(transform);
|
||||
}
|
||||
|
||||
/** Restores the batch transform to what it was before {@link #applyTransform(Batch, Matrix4)}. Note this causes the batch to
|
||||
* be flushed. */
|
||||
/**
|
||||
* Restores the batch transform to what it was before {@link #applyTransform(Batch, Matrix4)}. Note this causes the batch to
|
||||
* be flushed.
|
||||
*/
|
||||
protected void resetTransform(Batch batch) {
|
||||
batch.setTransformMatrix(oldTransform);
|
||||
}
|
||||
|
||||
protected Matrix4 computeTransform(Matrix4 worldTransform) {
|
||||
|
||||
|
||||
float[] val = worldTransform.getValues();
|
||||
//val[Matrix4.M32]=0.0002f;
|
||||
worldTransform.set(val);
|
||||
float originX = this.getOriginX(), originY = this.getOriginY();
|
||||
worldTransform.translate(getX() + getWidth() / 2, getY() + getHeight() / 2, 0);
|
||||
if(clicked)
|
||||
{
|
||||
if (clicked) {
|
||||
worldTransform.rotate(0, 1, 0, 180 * flipProcess);
|
||||
}
|
||||
computedTransform.set(worldTransform);
|
||||
return computedTransform;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
class HoldTooltip extends ActorGestureListener {
|
||||
Image tooltip_image;
|
||||
Table tooltip_actor;
|
||||
//Vector2 tmp = new Vector2();
|
||||
|
||||
public HoldTooltip(Image tooltip_image) {
|
||||
this.tooltip_image = tooltip_image;
|
||||
|
||||
tooltip_actor = new Table();
|
||||
tooltip_actor.add(this.tooltip_image);
|
||||
tooltip_actor.align(Align.center);
|
||||
tooltip_actor.setSize(this.tooltip_image.getPrefWidth(), this.tooltip_image.getPrefHeight());
|
||||
|
||||
getGestureDetector().setLongPressSeconds(0.1f);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean longPress(Actor actor, float x, float y) {
|
||||
//Vector2 point = actor.localToStageCoordinates(tmp.set(x, y));
|
||||
tooltip_actor.setX(actor.getRight());
|
||||
if (tooltip_actor.getX() + tooltip_actor.getWidth() > 480)
|
||||
tooltip_actor.setX(actor.getX() - tooltip_actor.getWidth());
|
||||
tooltip_actor.setY(270 / 2 - tooltip_actor.getHeight() / 2);
|
||||
//tooltip_actor.setX(480/2 - tooltip_actor.getWidth()/2); //480 hud width
|
||||
//tooltip_actor.setY(270/2-tooltip_actor.getHeight()/2); //270 hud height
|
||||
actor.getStage().addActor(tooltip_actor);
|
||||
return super.longPress(actor, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
|
||||
tooltip_actor.remove();
|
||||
super.touchUp(event, x, y, pointer, button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Window;
|
||||
@@ -50,6 +51,10 @@ public class UIActor extends Group {
|
||||
newActor = new Label("", Controls.GetSkin());
|
||||
readLabelProperties((Label) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||
break;
|
||||
case "Table":
|
||||
newActor = new Table(Controls.GetSkin());
|
||||
readTableProperties((Table) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||
break;
|
||||
case "Image":
|
||||
newActor = new Image();
|
||||
readImageProperties((Image) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||
@@ -161,6 +166,16 @@ public class UIActor extends Group {
|
||||
}
|
||||
}
|
||||
|
||||
private void readTableProperties(Table newActor, ObjectMap.Entries<String, String> entries) {
|
||||
for (ObjectMap.Entry property : entries) {
|
||||
switch (property.key.toString()) {
|
||||
case "font":
|
||||
newActor.getSkin().get(Label.LabelStyle.class).font = Controls.GetSkin().getFont(property.value.toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void readSelectorProperties(Selector newActor, ObjectMap.Entries<String, String> entries) {
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import forge.Graphics;
|
||||
import forge.animation.ForgeAnimation;
|
||||
import forge.assets.FSkin;
|
||||
import forge.assets.FSkinImage;
|
||||
import forge.assets.FSkinTexture;
|
||||
import forge.gui.GuiBase;
|
||||
import forge.toolbox.FContainer;
|
||||
|
||||
@@ -34,7 +35,6 @@ public class TransitionScreen extends FContainer {
|
||||
private class BGAnimation extends ForgeAnimation {
|
||||
float DURATION = 0.6f;
|
||||
private float progress = 0;
|
||||
Texture transition_bg = new Texture(GuiBase.isAndroid() ? Gdx.files.internal("fallback_skin").child("title_bg_lq.png") : Gdx.files.classpath("fallback_skin").child("title_bg_lq.png"));
|
||||
|
||||
public void drawBackground(Graphics g) {
|
||||
float percentage = progress / DURATION;
|
||||
@@ -46,9 +46,9 @@ public class TransitionScreen extends FContainer {
|
||||
}
|
||||
if (isloading) {
|
||||
g.fillRect(Color.BLACK, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
||||
if (transition_bg != null) {
|
||||
if (FSkinTexture.BG_TEXTURE != null) {
|
||||
g.setAlphaComposite(percentage);
|
||||
g.drawImage(transition_bg, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
||||
g.drawImage(FSkinTexture.BG_TEXTURE, 0, 0, Forge.getScreenWidth(), Forge.getScreenHeight());
|
||||
g.setAlphaComposite(oldAlpha);
|
||||
}
|
||||
float xmod = Forge.getScreenHeight() > 2000 ? 1.5f : 1f;
|
||||
|
||||
@@ -90,6 +90,4 @@
|
||||
"y": 232
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -90,6 +90,4 @@
|
||||
"y": 216
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -8,9 +8,7 @@
|
||||
"name": "lastScreen",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
|
||||
},
|
||||
{
|
||||
"type": "TextButton",
|
||||
"name": "heal",
|
||||
@@ -39,6 +37,4 @@
|
||||
"y": 58
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -8,9 +8,7 @@
|
||||
"name": "lastScreen",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
|
||||
},
|
||||
{
|
||||
"name": "cards",
|
||||
"x": 5,
|
||||
@@ -28,6 +26,4 @@
|
||||
"y": 10
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -8,8 +8,7 @@
|
||||
"image": "ui/title_bg.png",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
},
|
||||
{
|
||||
"type": "Scroll",
|
||||
"style": "paper",
|
||||
@@ -17,8 +16,7 @@
|
||||
"y": 10,
|
||||
"width": 256,
|
||||
"height": 236
|
||||
}
|
||||
,
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
"text": "Create a Character",
|
||||
@@ -161,6 +159,4 @@
|
||||
"y": 240
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
"width": 480,
|
||||
"height": 270
|
||||
},
|
||||
|
||||
{
|
||||
"type": "Image",
|
||||
"name": "preview",
|
||||
@@ -18,7 +17,6 @@
|
||||
"width": 96,
|
||||
"height": 54
|
||||
},
|
||||
|
||||
{
|
||||
"type": "Scroll",
|
||||
"name": "saveSlots",
|
||||
@@ -44,8 +42,10 @@
|
||||
"height": 16,
|
||||
"x": 115,
|
||||
"y": 250
|
||||
},
|
||||
{
|
||||
"type": "Table",
|
||||
"font": "default"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
"width": 480,
|
||||
"height": 270
|
||||
},
|
||||
|
||||
{
|
||||
"type": "Scroll",
|
||||
"name": "settings",
|
||||
@@ -28,6 +27,4 @@
|
||||
"y": 250
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -9,7 +9,6 @@
|
||||
"width": 480,
|
||||
"height": 270
|
||||
},
|
||||
|
||||
{
|
||||
"type": "Scroll",
|
||||
"name": "enemies",
|
||||
@@ -32,7 +31,8 @@
|
||||
"x": 90,
|
||||
"y": 84,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
@@ -40,7 +40,8 @@
|
||||
"x": 10,
|
||||
"y": 84,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
@@ -48,7 +49,8 @@
|
||||
"x": 90,
|
||||
"y": 104,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
@@ -56,7 +58,8 @@
|
||||
"x": 10,
|
||||
"y": 104,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
@@ -64,7 +67,8 @@
|
||||
"x": 90,
|
||||
"y": 124,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Label",
|
||||
@@ -72,7 +76,8 @@
|
||||
"x": 10,
|
||||
"y": 124,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type": "Image",
|
||||
@@ -90,8 +95,10 @@
|
||||
"height": 16,
|
||||
"x": 15,
|
||||
"y": 250
|
||||
},
|
||||
{
|
||||
"type": "Table",
|
||||
"font": "default"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user