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,28 +29,27 @@ 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;
|
||||
Texture image;
|
||||
boolean needsToBeDisposed;
|
||||
float flipProcess=0;
|
||||
boolean clicked=false;
|
||||
float flipProcess = 0;
|
||||
boolean clicked = false;
|
||||
boolean flipOnClick;
|
||||
private boolean hover;
|
||||
|
||||
static final ImageFetcher fetcher = GuiBase.getInterface().getImageFetcher();
|
||||
Image toolTipImage;
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
|
||||
if(needsToBeDisposed)
|
||||
if (needsToBeDisposed)
|
||||
image.dispose();
|
||||
|
||||
}
|
||||
|
||||
public Reward getReward() {
|
||||
@@ -56,53 +58,43 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
|
||||
@Override
|
||||
public void onImageFetched() {
|
||||
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false),false));
|
||||
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false), false));
|
||||
}
|
||||
|
||||
public RewardActor(Reward reward,boolean flippable)
|
||||
{
|
||||
|
||||
this.flipOnClick=flippable;
|
||||
this.reward=reward;
|
||||
if(backTexture==null)
|
||||
{
|
||||
backTexture= FSkin.getSleeves().get(0);
|
||||
public RewardActor(Reward reward, boolean flippable) {
|
||||
this.flipOnClick = flippable;
|
||||
this.reward = reward;
|
||||
if (backTexture == null) {
|
||||
backTexture = FSkin.getSleeves().get(0);
|
||||
}
|
||||
switch (reward.type)
|
||||
{
|
||||
case Card:
|
||||
if(ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false)))
|
||||
{
|
||||
setCardImage( ImageCache.getImage(reward.getCard().getImageKey(false),false));
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (reward.type) {
|
||||
case Card: {
|
||||
if (ImageCache.imageKeyFileExists(reward.getCard().getImageKey(false))) {
|
||||
setCardImage(ImageCache.getImage(reward.getCard().getImageKey(false), false));
|
||||
} 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);
|
||||
|
||||
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);
|
||||
|
||||
DrawOnPixmap.draw(drawingMap,backSprite);
|
||||
Sprite gold=atlas.createSprite("Gold");
|
||||
DrawOnPixmap.draw(drawingMap,(int)((backSprite.getWidth()/2f)-gold.getWidth()/2f),(int)((backSprite.getHeight()/4f)*1f),gold);
|
||||
DrawOnPixmap.drawText(drawingMap,String.valueOf(reward.getCount()),0,(int)((backSprite.getHeight()/4f)*2f),backSprite.getWidth());
|
||||
DrawOnPixmap.draw(drawingMap, backSprite);
|
||||
Sprite gold = atlas.createSprite("Gold");
|
||||
DrawOnPixmap.draw(drawingMap, (int) ((backSprite.getWidth() / 2f) - gold.getWidth() / 2f), (int) ((backSprite.getHeight() / 4f) * 1f), gold);
|
||||
DrawOnPixmap.drawText(drawingMap, String.valueOf(reward.getCount()), 0, (int) ((backSprite.getHeight() / 4f) * 2f), backSprite.getWidth());
|
||||
|
||||
image=new Texture(drawingMap);
|
||||
drawingMap.dispose();
|
||||
needsToBeDisposed=true;
|
||||
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);
|
||||
@@ -121,111 +113,116 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
||||
addListener(new ClickListener() {
|
||||
@Override
|
||||
public void clicked(InputEvent event, float x, float y) {
|
||||
if(flipOnClick)
|
||||
if (flipOnClick)
|
||||
flip();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor){
|
||||
hover=true;
|
||||
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;
|
||||
public void exit(InputEvent event, float x, float y, int pointer, Actor fromActor) {
|
||||
hover = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setCardImage(Texture img) {
|
||||
image=img;
|
||||
if(Forge.isTextureFilteringEnabled())
|
||||
image.setFilter(Texture.TextureFilter.MipMapLinearLinear,Texture.TextureFilter.Linear);
|
||||
TextureRegionDrawable drawable=new TextureRegionDrawable(new TextureRegion(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);
|
||||
image = img;
|
||||
if (Forge.isTextureFilteringEnabled())
|
||||
image.setFilter(Texture.TextureFilter.MipMapLinearLinear, Texture.TextureFilter.Linear);
|
||||
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);
|
||||
return (clicked && flipProcess >= 1);
|
||||
}
|
||||
|
||||
public void flip() {
|
||||
|
||||
if(clicked)
|
||||
if (clicked)
|
||||
return;
|
||||
clicked=true;
|
||||
flipProcess=0;
|
||||
clicked = true;
|
||||
flipProcess = 0;
|
||||
}
|
||||
@Override
|
||||
public void act(float delta)
|
||||
{
|
||||
super.act(delta);
|
||||
if(clicked)
|
||||
{
|
||||
if(flipProcess<1)
|
||||
flipProcess+=delta;
|
||||
else
|
||||
flipProcess=1;
|
||||
|
||||
if(tooltip!=null&&frontSideUp()&&!getListeners().contains(tooltip,true))
|
||||
@Override
|
||||
public void act(float delta) {
|
||||
super.act(delta);
|
||||
if (clicked) {
|
||||
if (flipProcess < 1)
|
||||
flipProcess += delta;
|
||||
else
|
||||
flipProcess = 1;
|
||||
|
||||
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) {
|
||||
|
||||
@Override
|
||||
public void draw(Batch batch, float parentAlpha) {
|
||||
applyTransform(batch, computeTransform(batch.getTransformMatrix().cpy()));
|
||||
|
||||
oldProjectionTransform.set(batch.getProjectionMatrix());
|
||||
applyProjectionMatrix(batch);
|
||||
|
||||
|
||||
if(hover)
|
||||
batch.setColor(0.5f,0.5f,0.5f,1);
|
||||
if (hover)
|
||||
batch.setColor(0.5f, 0.5f, 0.5f, 1);
|
||||
|
||||
if(!frontSideUp())
|
||||
{
|
||||
batch.draw(backTexture,-getWidth()/2,-getHeight()/2,getWidth(),getHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!frontSideUp()) {
|
||||
batch.draw(backTexture, -getWidth() / 2, -getHeight() / 2, getWidth(), getHeight());
|
||||
} else {
|
||||
drawFrontSide(batch);
|
||||
}
|
||||
batch.setColor(1,1,1,1);
|
||||
batch.setColor(1, 1, 1, 1);
|
||||
resetTransform(batch);
|
||||
batch.setProjectionMatrix(oldProjectionTransform);
|
||||
}
|
||||
|
||||
private void drawFrontSide(Batch batch) {
|
||||
|
||||
float width;
|
||||
float x;
|
||||
if(flipOnClick)
|
||||
{
|
||||
width=-getWidth();
|
||||
x=-getWidth()/2+getWidth();
|
||||
}
|
||||
else
|
||||
{
|
||||
width=getWidth();
|
||||
x=-getWidth()/2;
|
||||
if (flipOnClick) {
|
||||
width = -getWidth();
|
||||
x = -getWidth() / 2 + getWidth();
|
||||
} 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())
|
||||
{
|
||||
batch.draw(ImageCache.defaultImage, x, -getHeight() / 2, width, getHeight());
|
||||
switch (reward.getType()) {
|
||||
case Card:
|
||||
|
||||
break;
|
||||
@@ -237,23 +234,22 @@ 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);
|
||||
final Vector3 position = new Vector3( Scene.GetIntendedWidth() /2f , Scene.GetIntendedHeight()/2f, 0);
|
||||
final Vector3 position = new Vector3(Scene.GetIntendedWidth() / 2f, Scene.GetIntendedHeight() / 2f, 0);
|
||||
|
||||
float fov=67;
|
||||
Matrix4 projection=new Matrix4();
|
||||
Matrix4 view=new Matrix4();
|
||||
float hy= Scene.GetIntendedHeight()/2f;
|
||||
float a= (float) ((hy)/Math.sin(MathUtils.degreesToRadians*(fov/2f)));
|
||||
float height= (float) Math.sqrt((a*a)-(hy*hy));
|
||||
position.z=height*1f;
|
||||
float far=height*2f;
|
||||
float near=height*0.8f;
|
||||
float fov = 67;
|
||||
Matrix4 projection = new Matrix4();
|
||||
Matrix4 view = new Matrix4();
|
||||
float hy = Scene.GetIntendedHeight() / 2f;
|
||||
float a = (float) ((hy) / Math.sin(MathUtils.degreesToRadians * (fov / 2f)));
|
||||
float height = (float) Math.sqrt((a * a) - (hy * hy));
|
||||
position.z = height * 1f;
|
||||
float far = height * 2f;
|
||||
float near = height * 0.8f;
|
||||
|
||||
float aspect = (float)Scene.GetIntendedWidth() / (float)Scene.GetIntendedHeight();
|
||||
float aspect = (float) Scene.GetIntendedWidth() / (float) Scene.GetIntendedHeight();
|
||||
projection.setToProjection(Math.abs(near), Math.abs(far), fov, aspect);
|
||||
view.setToLookAt(position, position.cpy().add(direction), up);
|
||||
Matrix4.mul(projection.val, view.val);
|
||||
@@ -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. */
|
||||
protected void resetTransform (Batch batch) {
|
||||
/**
|
||||
* 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();
|
||||
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)
|
||||
{
|
||||
worldTransform.rotate(0,1,0,180*flipProcess);
|
||||
worldTransform.translate(getX() + getWidth() / 2, getY() + getHeight() / 2, 0);
|
||||
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;
|
||||
|
||||
@@ -2,94 +2,92 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "gamehud",
|
||||
"type": "Image",
|
||||
"name": "gamehud",
|
||||
"width": 64,
|
||||
"height": 206,
|
||||
"image":"ui/hud.png",
|
||||
"image": "ui/hud.png",
|
||||
"x": 416,
|
||||
"y": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "map" ,
|
||||
"type": "Image",
|
||||
"name": "map",
|
||||
"width": 64,
|
||||
"height": 64,
|
||||
"x": 416,
|
||||
"y": 0
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"image" : "ui/minimap.png" ,
|
||||
"type": "Image",
|
||||
"image": "ui/minimap.png",
|
||||
"width": 64,
|
||||
"height": 64,
|
||||
"x": 416,
|
||||
"y": 0
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "avatar" ,
|
||||
"type": "Image",
|
||||
"name": "avatar",
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"x": 432,
|
||||
"y": 80
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"image" : "ui/avatarhud.png" ,
|
||||
"type": "Image",
|
||||
"image": "ui/avatarhud.png",
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"x": 432,
|
||||
"y": 80
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"name" : "lifePoints" ,
|
||||
"font" : "default" ,
|
||||
"type": "Label",
|
||||
"name": "lifePoints",
|
||||
"font": "default",
|
||||
"width": 64,
|
||||
"height": 16,
|
||||
"x": 448,
|
||||
"y": 128
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"name" : "money" ,
|
||||
"font" : "default" ,
|
||||
"type": "Label",
|
||||
"name": "money",
|
||||
"font": "default",
|
||||
"width": 64,
|
||||
"height": 16,
|
||||
"x": 448,
|
||||
"y": 144
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "deck" ,
|
||||
"text" : "Deck",
|
||||
"type": "TextButton",
|
||||
"name": "deck",
|
||||
"text": "Deck",
|
||||
"width": 32,
|
||||
"height": 24,
|
||||
"x": 432,
|
||||
"y": 176
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "statistic" ,
|
||||
"text" : "Status",
|
||||
"type": "TextButton",
|
||||
"name": "statistic",
|
||||
"text": "Status",
|
||||
"width": 32,
|
||||
"height": 24,
|
||||
"x": 432,
|
||||
"y": 204
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "menu" ,
|
||||
"text" : "Menu",
|
||||
"type": "TextButton",
|
||||
"name": "menu",
|
||||
"text": "Menu",
|
||||
"width": 32,
|
||||
"height": 24,
|
||||
"x": 432,
|
||||
"y": 232
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,94 +2,92 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "gamehud",
|
||||
"type": "Image",
|
||||
"name": "gamehud",
|
||||
"width": 64,
|
||||
"height": 270,
|
||||
"image":"ui/hud_mobile.png",
|
||||
"image": "ui/hud_mobile.png",
|
||||
"x": 416,
|
||||
"y": 0
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "map" ,
|
||||
"type": "Image",
|
||||
"name": "map",
|
||||
"width": 80,
|
||||
"height": 80,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"image" : "ui/minimap.png" ,
|
||||
"type": "Image",
|
||||
"image": "ui/minimap.png",
|
||||
"width": 80,
|
||||
"height": 80,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "avatar" ,
|
||||
"type": "Image",
|
||||
"name": "avatar",
|
||||
"width": 46,
|
||||
"height": 46,
|
||||
"x": 425,
|
||||
"y": 10
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"image" : "ui/avatarhud.png" ,
|
||||
"type": "Image",
|
||||
"image": "ui/avatarhud.png",
|
||||
"width": 46,
|
||||
"height": 46,
|
||||
"x": 425,
|
||||
"y": 10
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"name" : "lifePoints" ,
|
||||
"font" : "default" ,
|
||||
"type": "Label",
|
||||
"name": "lifePoints",
|
||||
"font": "default",
|
||||
"width": 64,
|
||||
"height": 16,
|
||||
"x": 442,
|
||||
"y": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"name" : "money" ,
|
||||
"font" : "default" ,
|
||||
"type": "Label",
|
||||
"name": "money",
|
||||
"font": "default",
|
||||
"width": 64,
|
||||
"height": 16,
|
||||
"x": 442,
|
||||
"y": 82
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "deck" ,
|
||||
"text" : "Deck",
|
||||
"type": "TextButton",
|
||||
"name": "deck",
|
||||
"text": "Deck",
|
||||
"width": 40,
|
||||
"height": 44,
|
||||
"x": 428,
|
||||
"y": 106
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "statistic" ,
|
||||
"text" : "Status",
|
||||
"type": "TextButton",
|
||||
"name": "statistic",
|
||||
"text": "Status",
|
||||
"width": 40,
|
||||
"height": 44,
|
||||
"x": 428,
|
||||
"y": 162
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "menu" ,
|
||||
"text" : "Menu",
|
||||
"type": "TextButton",
|
||||
"name": "menu",
|
||||
"text": "Menu",
|
||||
"width": 40,
|
||||
"height": 44,
|
||||
"x": 428,
|
||||
"y": 216
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,43 +2,39 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"name":"lastScreen",
|
||||
"type": "Image",
|
||||
"name": "lastScreen",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "heal" ,
|
||||
"text" : "Heal" ,
|
||||
"type": "TextButton",
|
||||
"name": "heal",
|
||||
"text": "Heal",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 420,
|
||||
"y": 10
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "sell" ,
|
||||
"text" : "Sell cards" ,
|
||||
"type": "TextButton",
|
||||
"name": "sell",
|
||||
"text": "Sell cards",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 420,
|
||||
"y": 34
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "done" ,
|
||||
"text" : "Leave" ,
|
||||
"type": "TextButton",
|
||||
"name": "done",
|
||||
"text": "Leave",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 420,
|
||||
"y": 58
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,32 +2,28 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"name":"lastScreen",
|
||||
"type": "Image",
|
||||
"name": "lastScreen",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
|
||||
},
|
||||
{
|
||||
"name": "cards",
|
||||
"x": 5,
|
||||
"y": 5 ,
|
||||
"y": 5,
|
||||
"width": 405,
|
||||
"height": 265
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "done" ,
|
||||
"text" : "Take all" ,
|
||||
"type": "TextButton",
|
||||
"name": "done",
|
||||
"text": "Take all",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 420,
|
||||
"y": 10
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,165 +2,161 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"image":"ui/title_bg.png",
|
||||
"type": "Image",
|
||||
"image": "ui/title_bg.png",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
}
|
||||
,
|
||||
},
|
||||
{
|
||||
"type" : "Scroll",
|
||||
"style":"paper",
|
||||
"type": "Scroll",
|
||||
"style": "paper",
|
||||
"x": 10,
|
||||
"y": 10,
|
||||
"width": 256,
|
||||
"height": 236
|
||||
}
|
||||
,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Create a Character",
|
||||
"type": "Label",
|
||||
"text": "Create a Character",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"font":"blackbig",
|
||||
"font": "blackbig",
|
||||
"x": 16,
|
||||
"y": 16
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Avatar:" ,
|
||||
"type": "Label",
|
||||
"text": "Avatar:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Name:" ,
|
||||
"type": "Label",
|
||||
"text": "Name:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 96
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Race:" ,
|
||||
"type": "Label",
|
||||
"text": "Race:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 128
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Gender:" ,
|
||||
"type": "Label",
|
||||
"text": "Gender:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 160
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Difficulty:" ,
|
||||
"type": "Label",
|
||||
"text": "Difficulty:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 192
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"text" : "Deck:" ,
|
||||
"type": "Label",
|
||||
"text": "Deck:",
|
||||
"width": 128,
|
||||
"height": 32,
|
||||
"x": 16,
|
||||
"y": 224
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "ImageButton",
|
||||
"name" : "leftAvatar" ,
|
||||
"style" : "leftarrow" ,
|
||||
"type": "ImageButton",
|
||||
"name": "leftAvatar",
|
||||
"style": "leftarrow",
|
||||
"width": 16,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"name" : "avatarPreview" ,
|
||||
"type": "Image",
|
||||
"name": "avatarPreview",
|
||||
"width": 48,
|
||||
"height": 48,
|
||||
"x": 128,
|
||||
"y": 48
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "ImageButton",
|
||||
"name" : "rightAvatar" ,
|
||||
"style" : "rightarrow" ,
|
||||
"type": "ImageButton",
|
||||
"name": "rightAvatar",
|
||||
"style": "rightarrow",
|
||||
"width": 16,
|
||||
"height": 16,
|
||||
"x": 192,
|
||||
"y": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextField",
|
||||
"name" : "nameField" ,
|
||||
"type": "TextField",
|
||||
"name": "nameField",
|
||||
"width": 112,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 96
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Selector",
|
||||
"name" : "race" ,
|
||||
"type": "Selector",
|
||||
"name": "race",
|
||||
"width": 112,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 128
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Selector",
|
||||
"name" : "gender" ,
|
||||
"type": "Selector",
|
||||
"name": "gender",
|
||||
"width": 112,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 160
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Selector",
|
||||
"name" : "difficulty" ,
|
||||
"type": "Selector",
|
||||
"name": "difficulty",
|
||||
"width": 112,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 192
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Selector",
|
||||
"name" : "deck" ,
|
||||
"type": "Selector",
|
||||
"name": "deck",
|
||||
"width": 112,
|
||||
"height": 16,
|
||||
"x": 96,
|
||||
"y": 224
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "back" ,
|
||||
"text" : "Back" ,
|
||||
"type": "TextButton",
|
||||
"name": "back",
|
||||
"text": "Back",
|
||||
"width": 38,
|
||||
"height": 16,
|
||||
"x": 352,
|
||||
"y": 240
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "start" ,
|
||||
"text" : "Start" ,
|
||||
"type": "TextButton",
|
||||
"name": "start",
|
||||
"text": "Start",
|
||||
"width": 38,
|
||||
"height": 16,
|
||||
"x": 416,
|
||||
"y": 240
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,50 +2,50 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"image":"ui/title_bg.png",
|
||||
"type": "Image",
|
||||
"image": "ui/title_bg.png",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
} ,
|
||||
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"type": "Image",
|
||||
"name": "preview",
|
||||
"x": 364,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 96,
|
||||
"height": 54
|
||||
} ,
|
||||
|
||||
},
|
||||
{
|
||||
"type" : "Scroll",
|
||||
"type": "Scroll",
|
||||
"name": "saveSlots",
|
||||
"x": 10,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 344,
|
||||
"height": 235
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "return" ,
|
||||
"text" : "Back" ,
|
||||
"type": "TextButton",
|
||||
"name": "return",
|
||||
"text": "Back",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 15,
|
||||
"y": 250
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "save" ,
|
||||
"text" : "saveLoad" ,
|
||||
"type": "TextButton",
|
||||
"name": "save",
|
||||
"text": "saveLoad",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 115,
|
||||
"y": 250
|
||||
},
|
||||
{
|
||||
"type": "Table",
|
||||
"font": "default"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,32 +2,29 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"image":"ui/title_bg.png",
|
||||
"type": "Image",
|
||||
"image": "ui/title_bg.png",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
} ,
|
||||
|
||||
},
|
||||
{
|
||||
"type" : "Scroll",
|
||||
"type": "Scroll",
|
||||
"name": "settings",
|
||||
"x": 10,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 450,
|
||||
"height": 235
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "return" ,
|
||||
"text" : "Back" ,
|
||||
"type": "TextButton",
|
||||
"name": "return",
|
||||
"text": "Back",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 15,
|
||||
"y": 250
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
@@ -2,96 +2,103 @@
|
||||
"width": 480,
|
||||
"height": 270,
|
||||
"yDown": true,
|
||||
"elements":[
|
||||
"elements": [
|
||||
{
|
||||
"type" : "Image",
|
||||
"image":"ui/title_bg.png",
|
||||
"type": "Image",
|
||||
"image": "ui/title_bg.png",
|
||||
"width": 480,
|
||||
"height": 270
|
||||
} ,
|
||||
|
||||
},
|
||||
{
|
||||
"type" : "Scroll",
|
||||
"type": "Scroll",
|
||||
"name": "enemies",
|
||||
"x": 206,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 256,
|
||||
"height": 235
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"type": "Image",
|
||||
"name": "avatar",
|
||||
"x": 10,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 64,
|
||||
"height": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"name": "totalWins",
|
||||
"x": 90,
|
||||
"y": 84 ,
|
||||
"y": 84,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"text": "Win:",
|
||||
"x": 10,
|
||||
"y": 84 ,
|
||||
"y": 84,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"name": "totalLoss",
|
||||
"x": 90,
|
||||
"y": 104 ,
|
||||
"y": 104,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"text": "Loss:",
|
||||
"x": 10,
|
||||
"y": 104 ,
|
||||
"y": 104,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"name": "lossWinRatio",
|
||||
"x": 90,
|
||||
"y": 124 ,
|
||||
"y": 124,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Label",
|
||||
"type": "Label",
|
||||
"text": "Win Loss Ratio:",
|
||||
"x": 10,
|
||||
"y": 124 ,
|
||||
"y": 124,
|
||||
"width": 80,
|
||||
"height": 24
|
||||
} ,
|
||||
"height": 24,
|
||||
"font": "default"
|
||||
},
|
||||
{
|
||||
"type" : "Image",
|
||||
"image" : "ui/avatarhud.png" ,
|
||||
"type": "Image",
|
||||
"image": "ui/avatarhud.png",
|
||||
"x": 10,
|
||||
"y": 10 ,
|
||||
"y": 10,
|
||||
"width": 64,
|
||||
"height": 64
|
||||
} ,
|
||||
},
|
||||
{
|
||||
"type" : "TextButton",
|
||||
"name" : "return" ,
|
||||
"text" : "Back" ,
|
||||
"type": "TextButton",
|
||||
"name": "return",
|
||||
"text": "Back",
|
||||
"width": 48,
|
||||
"height": 16,
|
||||
"x": 15,
|
||||
"y": 250
|
||||
},
|
||||
{
|
||||
"type": "Table",
|
||||
"font": "default"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user