mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
integrating TextraLabel into adventure ui
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package forge.adventure.character;
|
package forge.adventure.character;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.g2d.*;
|
import com.badlogic.gdx.graphics.g2d.*;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
@@ -217,12 +218,19 @@ public class CharacterSprite extends MapActor {
|
|||||||
@Override
|
@Override
|
||||||
public void draw(Batch batch, float parentAlpha) {
|
public void draw(Batch batch, float parentAlpha) {
|
||||||
if (currentAnimation == null || hidden)
|
if (currentAnimation == null || hidden)
|
||||||
|
{
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
super.draw(batch,parentAlpha);
|
||||||
beforeDraw(batch,parentAlpha);
|
beforeDraw(batch,parentAlpha);
|
||||||
TextureRegion currentFrame = currentAnimation.getKeyFrame(timer, true);
|
TextureRegion currentFrame = currentAnimation.getKeyFrame(timer, true);
|
||||||
setHeight(currentFrame.getRegionHeight());
|
setHeight(currentFrame.getRegionHeight());
|
||||||
setWidth(currentFrame.getRegionWidth());
|
setWidth(currentFrame.getRegionWidth());
|
||||||
|
Color oldColor=batch.getColor().cpy();
|
||||||
|
batch.setColor(getColor());
|
||||||
batch.draw(currentFrame, getX(), getY());
|
batch.draw(currentFrame, getX(), getY());
|
||||||
|
batch.setColor(oldColor);
|
||||||
super.draw(batch,parentAlpha);
|
super.draw(batch,parentAlpha);
|
||||||
//batch.draw(getDebugTexture(),getX(),getY());
|
//batch.draw(getDebugTexture(),getX(),getY());
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.badlogic.gdx.math.Vector2;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
|
import forge.util.MyRandom;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Map Actor base class for Actors on the map
|
* Map Actor base class for Actors on the map
|
||||||
@@ -18,6 +19,12 @@ import forge.adventure.util.Config;
|
|||||||
public class MapActor extends Actor {
|
public class MapActor extends Actor {
|
||||||
|
|
||||||
|
|
||||||
|
private boolean removeIfEffectsAreFinished;
|
||||||
|
|
||||||
|
public void removeAfterEffects() {
|
||||||
|
removeIfEffectsAreFinished=true;
|
||||||
|
}
|
||||||
|
|
||||||
class CurrentEffect
|
class CurrentEffect
|
||||||
{
|
{
|
||||||
public CurrentEffect(String path,ParticleEffect effect,Vector2 offset,boolean overlay)
|
public CurrentEffect(String path,ParticleEffect effect,Vector2 offset,boolean overlay)
|
||||||
@@ -78,7 +85,7 @@ public class MapActor extends Actor {
|
|||||||
}
|
}
|
||||||
public void playEffect(String path)
|
public void playEffect(String path)
|
||||||
{
|
{
|
||||||
playEffect(path,0,false,Vector2.Zero);
|
playEffect(path,0,true,Vector2.Zero);
|
||||||
}
|
}
|
||||||
public MapActor(int objectId)
|
public MapActor(int objectId)
|
||||||
{
|
{
|
||||||
@@ -91,7 +98,9 @@ public class MapActor extends Actor {
|
|||||||
private Texture getDebugTexture() {
|
private Texture getDebugTexture() {
|
||||||
if (debugTexture == null) {
|
if (debugTexture == null) {
|
||||||
Pixmap pixmap = new Pixmap((int) getWidth(), (int) getHeight(), Pixmap.Format.RGBA8888);
|
Pixmap pixmap = new Pixmap((int) getWidth(), (int) getHeight(), Pixmap.Format.RGBA8888);
|
||||||
pixmap.setColor(1.0f,0,0,0.5f);
|
//pixmap.setColor(1.0f,0,0,0.5f);
|
||||||
|
pixmap.setColor(MyRandom.getRandom().nextFloat(),MyRandom.getRandom().nextFloat(),MyRandom.getRandom().nextFloat(),0.5f);
|
||||||
|
|
||||||
pixmap.fillRectangle((int)(boundingRect.x - getX()), (int)(getHeight()- boundingRect.getHeight()) + (int)(boundingRect.y - getY()), (int)boundingRect.getWidth(), (int)boundingRect.getHeight());
|
pixmap.fillRectangle((int)(boundingRect.x - getX()), (int)(getHeight()- boundingRect.getHeight()) + (int)(boundingRect.y - getY()), (int)boundingRect.getWidth(), (int)boundingRect.getHeight());
|
||||||
debugTexture = new Texture(pixmap);
|
debugTexture = new Texture(pixmap);
|
||||||
pixmap.dispose();
|
pixmap.dispose();
|
||||||
@@ -115,7 +124,9 @@ public class MapActor extends Actor {
|
|||||||
public void draw(Batch batch, float alpha) {
|
public void draw(Batch batch, float alpha) {
|
||||||
|
|
||||||
if(boundDebug)
|
if(boundDebug)
|
||||||
|
{
|
||||||
batch.draw(getDebugTexture(),getX(),getY());
|
batch.draw(getDebugTexture(),getX(),getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -153,6 +164,9 @@ public class MapActor extends Actor {
|
|||||||
effect.effect.dispose();
|
effect.effect.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(effects.size==0&&removeIfEffectsAreFinished&&getParent()!=null)
|
||||||
|
getParent().removeActor(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void positionChanged() {
|
protected void positionChanged() {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.character.EnemySprite;
|
import forge.adventure.character.EnemySprite;
|
||||||
import forge.adventure.data.ArenaData;
|
import forge.adventure.data.ArenaData;
|
||||||
@@ -27,7 +29,7 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
private static ArenaScene object;
|
private static ArenaScene object;
|
||||||
private final float gridSize;
|
private final float gridSize;
|
||||||
private ArenaData arenaData;
|
private ArenaData arenaData;
|
||||||
private TextButton startButton;
|
private TextraButton startButton;
|
||||||
|
|
||||||
public static ArenaScene instance() {
|
public static ArenaScene instance() {
|
||||||
if(object==null)
|
if(object==null)
|
||||||
@@ -35,10 +37,10 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
private TextButton doneButton;
|
private TextraButton doneButton;
|
||||||
Dialog startDialog;
|
Dialog startDialog;
|
||||||
Dialog areYouSureDialog;
|
Dialog areYouSureDialog;
|
||||||
private Label goldLabel;
|
private TextraLabel goldLabel;
|
||||||
|
|
||||||
private Group arenaPlane;
|
private Group arenaPlane;
|
||||||
private Random rand=new Random();
|
private Random rand=new Random();
|
||||||
@@ -89,7 +91,7 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
|
|
||||||
startButton=ui.findActor("start");
|
startButton=ui.findActor("start");
|
||||||
|
|
||||||
startDialog = new Dialog(Forge.getLocalizer().getMessage("lblStart"), Controls.GetSkin())
|
startDialog = new Dialog(Forge.getLocalizer().getMessage("lblStart"), Controls.getSkin())
|
||||||
{
|
{
|
||||||
protected void result(Object object)
|
protected void result(Object object)
|
||||||
{
|
{
|
||||||
@@ -106,7 +108,7 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
startDialog.getColor().a = 0;
|
startDialog.getColor().a = 0;
|
||||||
|
|
||||||
|
|
||||||
areYouSureDialog= new Dialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), Controls.GetSkin())
|
areYouSureDialog= new Dialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), Controls.getSkin())
|
||||||
{
|
{
|
||||||
protected void result(Object object)
|
protected void result(Object object)
|
||||||
{
|
{
|
||||||
@@ -304,7 +306,7 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
player=fighters.get(fighters.size-1);
|
player=fighters.get(fighters.size-1);
|
||||||
|
|
||||||
|
|
||||||
goldLabel.setText(data.entryFee +" $");
|
goldLabel.setText(data.entryFee +" [+Gold]");
|
||||||
goldLabel.setVisible(true);
|
goldLabel.setVisible(true);
|
||||||
|
|
||||||
startButton.setDisabled(data.entryFee>Current.player().getGold());
|
startButton.setDisabled(data.entryFee>Current.player().getGold());
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class DeckEditScene extends ForgeScene {
|
|||||||
|
|
||||||
private static DeckEditScene object;
|
private static DeckEditScene object;
|
||||||
|
|
||||||
public static DeckEditScene instance() {
|
public static DeckEditScene getInstance() {
|
||||||
if(object==null)
|
if(object==null)
|
||||||
object=new DeckEditScene();
|
object=new DeckEditScene();
|
||||||
return object;
|
return object;
|
||||||
|
|||||||
@@ -7,29 +7,38 @@ import com.badlogic.gdx.scenes.scene2d.ui.*;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
import com.badlogic.gdx.utils.IntMap;
|
import com.badlogic.gdx.utils.IntMap;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.player.AdventurePlayer;
|
import forge.adventure.player.AdventurePlayer;
|
||||||
import forge.adventure.util.Controls;
|
import forge.adventure.util.Controls;
|
||||||
import forge.adventure.util.Current;
|
import forge.adventure.util.Current;
|
||||||
|
|
||||||
public class DeckSelectScene extends UIScene {
|
public class DeckSelectScene extends UIScene {
|
||||||
private final IntMap<TextButton> buttons = new IntMap<>();
|
private final IntMap<TextraButton> buttons = new IntMap<>();
|
||||||
Color defColor;
|
Color defColor;
|
||||||
Dialog dialog;
|
Dialog dialog;
|
||||||
TextField textInput;
|
TextField textInput;
|
||||||
Table layout;
|
Table layout;
|
||||||
Label header;
|
TextraLabel header;
|
||||||
TextButton back, edit, rename, dialogRenameBtn, dialogAbortBtn;
|
TextraButton back, edit, rename, dialogRenameBtn, dialogAbortBtn;
|
||||||
int currentSlot = 0;
|
int currentSlot = 0;
|
||||||
ScrollPane scrollPane;
|
ScrollPane scrollPane;
|
||||||
|
|
||||||
|
private static DeckSelectScene object;
|
||||||
|
|
||||||
|
public static DeckSelectScene instance() {
|
||||||
|
if(object==null)
|
||||||
|
object=new DeckSelectScene();
|
||||||
|
return object;
|
||||||
|
}
|
||||||
public DeckSelectScene() {
|
public DeckSelectScene() {
|
||||||
super(Forge.isLandscapeMode() ? "ui/deck_selector.json" : "ui/deck_selector_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/deck_selector.json" : "ui/deck_selector_portrait.json");
|
||||||
|
|
||||||
layout = new Table();
|
layout = new Table();
|
||||||
stage.addActor(layout);
|
stage.addActor(layout);
|
||||||
|
|
||||||
header = Controls.newLabel(Forge.getLocalizer().getMessage("lblSelectYourDeck"));
|
header = Controls.newTextraLabel(Forge.getLocalizer().getMessage("lblSelectYourDeck"));
|
||||||
layout.add(header).colspan(2).align(Align.center).pad(2, 5, 2, 5);
|
layout.add(header).colspan(2).align(Align.center).pad(2, 5, 2, 5);
|
||||||
layout.row();
|
layout.row();
|
||||||
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++)
|
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++)
|
||||||
@@ -50,11 +59,8 @@ public class DeckSelectScene extends UIScene {
|
|||||||
dialog.hide();
|
dialog.hide();
|
||||||
|
|
||||||
back = ui.findActor("return");
|
back = ui.findActor("return");
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
edit = ui.findActor("edit");
|
edit = ui.findActor("edit");
|
||||||
edit.getLabel().setText(Forge.getLocalizer().getMessage("lblEdit"));
|
|
||||||
rename = ui.findActor("rename");
|
rename = ui.findActor("rename");
|
||||||
rename.getLabel().setText(Forge.getLocalizer().getMessage("lblRename"));
|
|
||||||
ui.onButtonPress("return", () -> DeckSelectScene.this.back());
|
ui.onButtonPress("return", () -> DeckSelectScene.this.back());
|
||||||
ui.onButtonPress("edit", () -> DeckSelectScene.this.edit());
|
ui.onButtonPress("edit", () -> DeckSelectScene.this.edit());
|
||||||
ui.onButtonPress("rename", () -> {
|
ui.onButtonPress("rename", () -> {
|
||||||
@@ -68,8 +74,8 @@ public class DeckSelectScene extends UIScene {
|
|||||||
scrollPane.setActor(layout);
|
scrollPane.setActor(layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TextButton addDeckSlot(String name, int i) {
|
private TextraButton addDeckSlot(String name, int i) {
|
||||||
TextButton button = Controls.newTextButton("-");
|
TextraButton button = Controls.newTextButton("-");
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
@@ -96,11 +102,11 @@ public class DeckSelectScene extends UIScene {
|
|||||||
public boolean select(int slot) {
|
public boolean select(int slot) {
|
||||||
currentSlot = slot;
|
currentSlot = slot;
|
||||||
|
|
||||||
for (IntMap.Entry<TextButton> butt : new IntMap.Entries<TextButton>(buttons)) {
|
for (IntMap.Entry<TextraButton> butt : new IntMap.Entries<TextraButton>(buttons)) {
|
||||||
butt.value.setColor(defColor);
|
butt.value.setColor(defColor);
|
||||||
}
|
}
|
||||||
if (buttons.containsKey(slot)) {
|
if (buttons.containsKey(slot)) {
|
||||||
TextButton button = buttons.get(slot);
|
TextraButton button = buttons.get(slot);
|
||||||
button.setColor(Color.RED);
|
button.setColor(Color.RED);
|
||||||
}
|
}
|
||||||
Current.player().setSelectedDeckSlot(slot);
|
Current.player().setSelectedDeckSlot(slot);
|
||||||
@@ -136,47 +142,7 @@ public class DeckSelectScene extends UIScene {
|
|||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void resLoaded() {
|
|
||||||
super.resLoaded();
|
|
||||||
layout = new Table();
|
|
||||||
stage.addActor(layout);
|
|
||||||
|
|
||||||
header = Controls.newLabel(Forge.getLocalizer().getMessage("lblSelectYourDeck"));
|
|
||||||
layout.add(header).colspan(2).align(Align.center).pad(2, 5, 2, 5);
|
|
||||||
layout.row();
|
|
||||||
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++)
|
|
||||||
addDeckSlot(Forge.getLocalizer().getMessage("lblDeck")+": " + (i + 1), i);
|
|
||||||
|
|
||||||
dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
textInput = Controls.newTextField("");
|
|
||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2);
|
|
||||||
dialog.getButtonTable().row();
|
|
||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName")+": ")).align(Align.left);
|
|
||||||
dialog.getButtonTable().add(textInput).fillX().expandX();
|
|
||||||
dialog.getButtonTable().row();
|
|
||||||
dialog.getButtonTable().add(Controls.newTextButton(Forge.getLocalizer().getMessage("lblRename"), () -> DeckSelectScene.this.rename())).align(Align.left);
|
|
||||||
dialog.getButtonTable().add(Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> dialog.hide())).align(Align.left);
|
|
||||||
|
|
||||||
back = ui.findActor("return");
|
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
edit = ui.findActor("edit");
|
|
||||||
edit.getLabel().setText(Forge.getLocalizer().getMessage("lblEdit"));
|
|
||||||
rename = ui.findActor("rename");
|
|
||||||
rename.getLabel().setText(Forge.getLocalizer().getMessage("lblRename"));
|
|
||||||
ui.onButtonPress("return", () -> DeckSelectScene.this.back());
|
|
||||||
ui.onButtonPress("edit", () -> DeckSelectScene.this.edit());
|
|
||||||
ui.onButtonPress("rename", () -> {
|
|
||||||
textInput.setText(Current.player().getSelectedDeck().getName());
|
|
||||||
dialog.show(stage);
|
|
||||||
stage.setKeyboardFocus(textInput);
|
|
||||||
});
|
|
||||||
defColor = ui.findActor("return").getColor();
|
|
||||||
|
|
||||||
ScrollPane scrollPane = ui.findActor("deckSlots");
|
|
||||||
scrollPane.setActor(layout);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void rename() {
|
private void rename() {
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
@@ -186,6 +152,6 @@ public class DeckSelectScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void edit() {
|
private void edit() {
|
||||||
Forge.switchScene(SceneType.DeckEditScene.instance);
|
Forge.switchScene(DeckEditScene.getInstance());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,16 @@ package forge.adventure.scene;
|
|||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.InputProcessor;
|
import com.badlogic.gdx.InputProcessor;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
|
import forge.Forge;
|
||||||
import forge.adventure.stage.GameHUD;
|
import forge.adventure.stage.GameHUD;
|
||||||
import forge.adventure.stage.GameStage;
|
import forge.adventure.stage.GameStage;
|
||||||
|
import forge.adventure.stage.IAfterMatch;
|
||||||
|
import forge.adventure.stage.MapStage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hud base scene
|
* Hud base scene
|
||||||
*/
|
*/
|
||||||
public abstract class HudScene extends Scene implements InputProcessor, IAfterMatch {
|
public abstract class HudScene extends Scene implements InputProcessor, IAfterMatch {
|
||||||
|
|
||||||
GameHUD hud;
|
GameHUD hud;
|
||||||
GameStage stage;
|
GameStage stage;
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ package forge.adventure.scene;
|
|||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.stage.GameHUD;
|
import forge.adventure.stage.GameHUD;
|
||||||
import forge.adventure.util.Current;
|
import forge.adventure.util.Current;
|
||||||
@@ -20,38 +19,19 @@ public class InnScene extends UIScene {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
TextButton tempHitPointCost, sell, leave;
|
TextraButton tempHitPointCost, sell, leave;
|
||||||
Label tempHitPoints;
|
|
||||||
Image healIcon, sellIcon, leaveIcon;
|
Image healIcon, sellIcon, leaveIcon;
|
||||||
|
|
||||||
private InnScene() {
|
private InnScene() {
|
||||||
|
|
||||||
super(Forge.isLandscapeMode() ? "ui/inn.json" : "ui/inn_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/inn.json" : "ui/inn_portrait.json");
|
||||||
ui.onButtonPress("done", new Runnable() {
|
tempHitPointCost = ui.findActor("tempHitPointCost");
|
||||||
@Override
|
ui.onButtonPress("done", InnScene.this::done);
|
||||||
public void run() {
|
ui.onButtonPress("tempHitPointCost", InnScene.this::potionOfFalseLife);
|
||||||
InnScene.this.done();
|
ui.onButtonPress("sell", InnScene.this::sell);
|
||||||
}
|
|
||||||
});
|
|
||||||
ui.onButtonPress("tempHitPointCost", new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
InnScene.this.potionOfFalseLife();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
ui.onButtonPress("sell", new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
InnScene.this.sell();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
leave = ui.findActor("done");
|
leave = ui.findActor("done");
|
||||||
leave.getLabel().setText(Forge.getLocalizer().getMessage("lblLeave"));
|
|
||||||
sell = ui.findActor("sell");
|
sell = ui.findActor("sell");
|
||||||
sell.getLabel().setText(Forge.getLocalizer().getMessage("lblSell"));
|
|
||||||
|
|
||||||
tempHitPoints = ui.findActor("tempHitPoints");
|
|
||||||
tempHitPoints.setText(Forge.getLocalizer().getMessageorUseDefault("lblTempHitPoints", "Temporary Hit Points"));
|
|
||||||
|
|
||||||
leaveIcon = ui.findActor("leaveIcon");
|
leaveIcon = ui.findActor("leaveIcon");
|
||||||
healIcon = ui.findActor("healIcon");
|
healIcon = ui.findActor("healIcon");
|
||||||
@@ -89,9 +69,8 @@ public class InnScene extends UIScene {
|
|||||||
boolean purchaseable = Current.player().getMaxLife() == Current.player().getLife() &&
|
boolean purchaseable = Current.player().getMaxLife() == Current.player().getLife() &&
|
||||||
tempHealthCost <= Current.player().getGold();
|
tempHealthCost <= Current.player().getGold();
|
||||||
|
|
||||||
tempHitPointCost = ui.findActor("tempHitPointCost");
|
|
||||||
tempHitPointCost.setDisabled(!purchaseable);
|
tempHitPointCost.setDisabled(!purchaseable);
|
||||||
tempHitPointCost.getLabel().setText("$" + tempHealthCost);
|
tempHitPointCost.setText( tempHealthCost+"[+Gold]");
|
||||||
clearActorObjects();
|
clearActorObjects();
|
||||||
addActorObject(tempHitPointCost);
|
addActorObject(tempHitPointCost);
|
||||||
addActorObject(sell);
|
addActorObject(sell);
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
|||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import com.badlogic.gdx.utils.Timer;
|
import com.badlogic.gdx.utils.Timer;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.ItemData;
|
import forge.adventure.data.ItemData;
|
||||||
import forge.adventure.stage.ConsoleCommandInterpreter;
|
import forge.adventure.stage.ConsoleCommandInterpreter;
|
||||||
@@ -22,10 +24,10 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class InventoryScene extends UIScene {
|
public class InventoryScene extends UIScene {
|
||||||
TextButton leave;
|
TextraButton leave;
|
||||||
Button equipButton;
|
Button equipButton;
|
||||||
TextButton useButton;
|
TextraButton useButton;
|
||||||
Label itemDescription;
|
TextraLabel itemDescription;
|
||||||
Dialog confirm;
|
Dialog confirm;
|
||||||
Dialog useDialog;
|
Dialog useDialog;
|
||||||
private Table inventory;
|
private Table inventory;
|
||||||
@@ -51,7 +53,6 @@ public class InventoryScene extends UIScene {
|
|||||||
deleteButton = ui.findActor("delete");
|
deleteButton = ui.findActor("delete");
|
||||||
itemDescription = ui.findActor("item_description");
|
itemDescription = ui.findActor("item_description");
|
||||||
itemDescription.setAlignment(Align.topLeft);
|
itemDescription.setAlignment(Align.topLeft);
|
||||||
leave.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
|
|
||||||
inventoryButtons=new Array<>();
|
inventoryButtons=new Array<>();
|
||||||
equipmentSlots=new HashMap<>();
|
equipmentSlots=new HashMap<>();
|
||||||
@@ -102,7 +103,7 @@ public class InventoryScene extends UIScene {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
inventory = new Table(Controls.GetSkin());
|
inventory = new Table(Controls.getSkin());
|
||||||
ScrollPane scrollPane = ui.findActor("inventory");
|
ScrollPane scrollPane = ui.findActor("inventory");
|
||||||
scrollPane.setScrollingDisabled(true,false);
|
scrollPane.setScrollingDisabled(true,false);
|
||||||
scrollPane.setActor(inventory);
|
scrollPane.setActor(inventory);
|
||||||
@@ -110,7 +111,7 @@ public class InventoryScene extends UIScene {
|
|||||||
columns-=1;
|
columns-=1;
|
||||||
if(columns<=0)columns=1;
|
if(columns<=0)columns=1;
|
||||||
scrollPane.setActor(inventory);
|
scrollPane.setActor(inventory);
|
||||||
confirm = new Dialog("\n "+Forge.getLocalizer().getMessage("lblDelete"), Controls.GetSkin())
|
confirm = new Dialog("", Controls.getSkin())
|
||||||
{
|
{
|
||||||
protected void result(Object object)
|
protected void result(Object object)
|
||||||
{
|
{
|
||||||
@@ -119,6 +120,7 @@ public class InventoryScene extends UIScene {
|
|||||||
confirm.hide();
|
confirm.hide();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
confirm.text( Controls.newLabel(Forge.getLocalizer().getMessage("lblDelete")));
|
||||||
|
|
||||||
confirm.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
confirm.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
||||||
confirm.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
confirm.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
||||||
@@ -130,7 +132,7 @@ public class InventoryScene extends UIScene {
|
|||||||
confirm.getColor().a = 0;
|
confirm.getColor().a = 0;
|
||||||
|
|
||||||
|
|
||||||
useDialog = new Dialog("\n "+Forge.getLocalizer().getMessage("lblDelete"), Controls.GetSkin())
|
useDialog = new Dialog("", Controls.getSkin())
|
||||||
{
|
{
|
||||||
protected void result(Object object)
|
protected void result(Object object)
|
||||||
{
|
{
|
||||||
@@ -221,10 +223,10 @@ public class InventoryScene extends UIScene {
|
|||||||
boolean isInPoi = MapStage.getInstance().isInMap();
|
boolean isInPoi = MapStage.getInstance().isInMap();
|
||||||
useButton.setDisabled(!(isInPoi&&data.usableInPoi||!isInPoi&&data.usableOnWorldMap));
|
useButton.setDisabled(!(isInPoi&&data.usableInPoi||!isInPoi&&data.usableOnWorldMap));
|
||||||
if(data.manaNeeded==0)
|
if(data.manaNeeded==0)
|
||||||
useButton.setText("Use Item");
|
useButton.setText("Use");
|
||||||
else
|
else
|
||||||
useButton.setText("Use Item ("+data.manaNeeded+" mana)");
|
useButton.setText("Use "+data.manaNeeded+"[+Mana]");
|
||||||
|
useButton.layout();
|
||||||
if(Current.player().getMana()<data.manaNeeded)
|
if(Current.player().getMana()<data.manaNeeded)
|
||||||
useButton.setDisabled(true);
|
useButton.setDisabled(true);
|
||||||
|
|
||||||
@@ -235,9 +237,9 @@ public class InventoryScene extends UIScene {
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
equipButton.setDisabled(false);
|
equipButton.setDisabled(false);
|
||||||
if(equipButton instanceof TextButton)
|
if(equipButton instanceof TextraButton)
|
||||||
{
|
{
|
||||||
TextButton button=(TextButton) equipButton;
|
TextraButton button=(TextraButton) equipButton;
|
||||||
String item=Current.player().itemInSlot(data.equipmentSlot);
|
String item=Current.player().itemInSlot(data.equipmentSlot);
|
||||||
if(item!=null&&item.equals(data.name))
|
if(item!=null&&item.equals(data.name))
|
||||||
{
|
{
|
||||||
@@ -247,6 +249,7 @@ public class InventoryScene extends UIScene {
|
|||||||
{
|
{
|
||||||
button.setText("Equip");
|
button.setText("Equip");
|
||||||
}
|
}
|
||||||
|
button.layout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -331,7 +334,7 @@ public class InventoryScene extends UIScene {
|
|||||||
|
|
||||||
public Button createInventorySlot() {
|
public Button createInventorySlot() {
|
||||||
|
|
||||||
ImageButton button=new ImageButton(Controls.GetSkin(),"item_frame");
|
ImageButton button=new ImageButton(Controls.getSkin(),"item_frame");
|
||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,13 @@ import com.badlogic.gdx.Input;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputListener;
|
import com.badlogic.gdx.scenes.scene2d.InputListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.DifficultyData;
|
import forge.adventure.data.DifficultyData;
|
||||||
import forge.adventure.data.HeroListData;
|
import forge.adventure.data.HeroListData;
|
||||||
@@ -41,7 +44,7 @@ public class NewGameScene extends UIScene {
|
|||||||
private Selector mode;
|
private Selector mode;
|
||||||
private Selector difficulty;
|
private Selector difficulty;
|
||||||
private Array<String> stringList, random, custom;
|
private Array<String> stringList, random, custom;
|
||||||
private Label colorLabel;
|
private TextraLabel colorLabel;
|
||||||
private int selected = -1;
|
private int selected = -1;
|
||||||
|
|
||||||
private NewGameScene() {
|
private NewGameScene() {
|
||||||
@@ -64,7 +67,7 @@ public class NewGameScene extends UIScene {
|
|||||||
gender = ui.findActor("gender");
|
gender = ui.findActor("gender");
|
||||||
mode = ui.findActor("mode");
|
mode = ui.findActor("mode");
|
||||||
colorLabel = ui.findActor("colorIdL");
|
colorLabel = ui.findActor("colorIdL");
|
||||||
String colorIdLabel = colorLabel.getText().toString();
|
String colorIdLabel = colorLabel.storedText;
|
||||||
custom = new Array<>();
|
custom = new Array<>();
|
||||||
for (DeckProxy deckProxy : DeckProxy.getAllCustomStarterDecks())
|
for (DeckProxy deckProxy : DeckProxy.getAllCustomStarterDecks())
|
||||||
custom.add(deckProxy.getName());
|
custom.add(deckProxy.getName());
|
||||||
@@ -314,7 +317,7 @@ public class NewGameScene extends UIScene {
|
|||||||
performTouch(selectedKey);
|
performTouch(selectedKey);
|
||||||
} else {
|
} else {
|
||||||
if (selectedActor != null) {
|
if (selectedActor != null) {
|
||||||
if (selectedActor instanceof TextButton)
|
if (selectedActor instanceof TextraButton)
|
||||||
performTouch(selectedActor);
|
performTouch(selectedActor);
|
||||||
else if (selectedActor instanceof TextField && !kbVisible) {
|
else if (selectedActor instanceof TextField && !kbVisible) {
|
||||||
lastInputField = selectedActor;
|
lastInputField = selectedActor;
|
||||||
|
|||||||
@@ -3,9 +3,13 @@ package forge.adventure.scene;
|
|||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.character.EnemySprite;
|
import forge.adventure.character.EnemySprite;
|
||||||
import forge.adventure.data.EnemyData;
|
import forge.adventure.data.EnemyData;
|
||||||
@@ -26,32 +30,27 @@ import java.util.Map;
|
|||||||
public class PlayerStatisticScene extends UIScene {
|
public class PlayerStatisticScene extends UIScene {
|
||||||
Image avatar, avatarBorder, lifeIcon, goldIcon;
|
Image avatar, avatarBorder, lifeIcon, goldIcon;
|
||||||
Image colorFrame;
|
Image colorFrame;
|
||||||
Label money, life;
|
TextraLabel money, life;
|
||||||
Label wins, totalWins;
|
TextraLabel wins, totalWins;
|
||||||
Label loss, totalLoss;
|
TextraLabel loss, totalLoss;
|
||||||
Label winloss, lossWinRatio;
|
TextraLabel winloss, lossWinRatio;
|
||||||
Label playerName;
|
TextraLabel playerName;
|
||||||
TextButton back;
|
TextraButton back;
|
||||||
private Table enemiesGroup;
|
private final Table enemiesGroup;
|
||||||
Label blessingScroll;
|
TextraLabel blessingScroll;
|
||||||
ScrollPane scrollPane, blessing;
|
ScrollPane scrollPane, blessing;
|
||||||
|
|
||||||
private PlayerStatisticScene() {
|
private PlayerStatisticScene() {
|
||||||
super(Forge.isLandscapeMode() ? "ui/statistic.json" : "ui/statistic_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/statistic.json" : "ui/statistic_portrait.json");
|
||||||
|
|
||||||
|
|
||||||
enemiesGroup = new Table(Controls.GetSkin());
|
enemiesGroup = new Table(Controls.getSkin());
|
||||||
enemiesGroup.row();
|
enemiesGroup.row();
|
||||||
blessingScroll = Controls.newLabel("");
|
blessingScroll = Controls.newTextraLabel("");
|
||||||
blessingScroll.setStyle(new Label.LabelStyle(Controls.getBitmapFont("default"), Color.BLACK));
|
blessingScroll.setColor(Color.BLACK);
|
||||||
blessingScroll.setAlignment(Align.topLeft);
|
blessingScroll.setAlignment(Align.topLeft);
|
||||||
blessingScroll.setWrap(true);
|
blessingScroll.setWrap(true);
|
||||||
ui.onButtonPress("return", new Runnable() {
|
ui.onButtonPress("return", PlayerStatisticScene.this::back);
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
PlayerStatisticScene.this.back();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
avatar = ui.findActor("avatar");
|
avatar = ui.findActor("avatar");
|
||||||
avatarBorder = ui.findActor("avatarBorder");
|
avatarBorder = ui.findActor("avatarBorder");
|
||||||
@@ -62,16 +61,12 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
goldIcon = ui.findActor("goldIcon");
|
goldIcon = ui.findActor("goldIcon");
|
||||||
wins = ui.findActor("wins");
|
wins = ui.findActor("wins");
|
||||||
colorFrame = ui.findActor("colorFrame");
|
colorFrame = ui.findActor("colorFrame");
|
||||||
wins.setText(Forge.getLocalizer().getMessage("lblWinProper")+":");
|
|
||||||
totalWins = ui.findActor("totalWins");
|
totalWins = ui.findActor("totalWins");
|
||||||
loss = ui.findActor("loss");
|
loss = ui.findActor("loss");
|
||||||
loss.setText(Forge.getLocalizer().getMessage("lblLossProper")+":");
|
|
||||||
totalLoss = ui.findActor("totalLoss");
|
totalLoss = ui.findActor("totalLoss");
|
||||||
winloss = ui.findActor("winloss");
|
winloss = ui.findActor("winloss");
|
||||||
winloss.setText(Forge.getLocalizer().getMessage("lblWinProper")+"/"+Forge.getLocalizer().getMessage("lblLossProper"));
|
|
||||||
lossWinRatio = ui.findActor("lossWinRatio");
|
lossWinRatio = ui.findActor("lossWinRatio");
|
||||||
back = ui.findActor("return");
|
back = ui.findActor("return");
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
ScrollPane scrollPane = ui.findActor("enemies");
|
ScrollPane scrollPane = ui.findActor("enemies");
|
||||||
scrollPane.setActor(enemiesGroup);
|
scrollPane.setActor(enemiesGroup);
|
||||||
ScrollPane blessing = ui.findActor("blessingInfo");
|
ScrollPane blessing = ui.findActor("blessingInfo");
|
||||||
@@ -157,10 +152,10 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
WorldSave.getCurrentSave().getPlayer().onGoldChange(() -> money.setText(String.valueOf(AdventurePlayer.current().getGold())));
|
WorldSave.getCurrentSave().getPlayer().onGoldChange(() -> money.setText(String.valueOf(AdventurePlayer.current().getGold())));
|
||||||
}
|
}
|
||||||
if (totalWins != null) {
|
if (totalWins != null) {
|
||||||
totalWins.setText(Current.player().getStatistic().totalWins());
|
totalWins.setText(String.valueOf(Current.player().getStatistic().totalWins()));
|
||||||
}
|
}
|
||||||
if (totalLoss != null) {
|
if (totalLoss != null) {
|
||||||
totalLoss.setText(Current.player().getStatistic().totalLoss());
|
totalLoss.setText(String.valueOf(Current.player().getStatistic().totalLoss()));
|
||||||
}
|
}
|
||||||
if (lossWinRatio != null) {
|
if (lossWinRatio != null) {
|
||||||
lossWinRatio.setText(Float.toString(Current.player().getStatistic().winLossRatio()));
|
lossWinRatio.setText(Float.toString(Current.player().getStatistic().winLossRatio()));
|
||||||
@@ -194,42 +189,6 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void resLoaded() {
|
|
||||||
super.resLoaded();
|
|
||||||
enemiesGroup = new Table(Controls.GetSkin());
|
|
||||||
enemiesGroup.row();
|
|
||||||
blessingScroll = Controls.newLabel("");
|
|
||||||
blessingScroll.setStyle(new Label.LabelStyle(Controls.getBitmapFont("default"), Color.BLACK));
|
|
||||||
blessingScroll.setAlignment(Align.topLeft);
|
|
||||||
blessingScroll.setWrap(true);
|
|
||||||
ui.onButtonPress("return", () -> PlayerStatisticScene.this.back());
|
|
||||||
|
|
||||||
avatar = ui.findActor("avatar");
|
|
||||||
avatarBorder = ui.findActor("avatarBorder");
|
|
||||||
playerName = ui.findActor("playerName");
|
|
||||||
life = ui.findActor("lifePoints");
|
|
||||||
money = ui.findActor("money");
|
|
||||||
lifeIcon = ui.findActor("lifeIcon");
|
|
||||||
goldIcon = ui.findActor("goldIcon");
|
|
||||||
wins = ui.findActor("wins");
|
|
||||||
colorFrame = ui.findActor("colorFrame");
|
|
||||||
wins.setText(Forge.getLocalizer().getMessage("lblWinProper")+":");
|
|
||||||
totalWins = ui.findActor("totalWins");
|
|
||||||
loss = ui.findActor("loss");
|
|
||||||
loss.setText(Forge.getLocalizer().getMessage("lblLossProper")+":");
|
|
||||||
totalLoss = ui.findActor("totalLoss");
|
|
||||||
winloss = ui.findActor("winloss");
|
|
||||||
winloss.setText(Forge.getLocalizer().getMessage("lblWinProper")+"/"+Forge.getLocalizer().getMessage("lblLossProper"));
|
|
||||||
lossWinRatio = ui.findActor("lossWinRatio");
|
|
||||||
back = ui.findActor("return");
|
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
scrollPane = ui.findActor("enemies");
|
|
||||||
scrollPane.setActor(enemiesGroup);
|
|
||||||
blessing = ui.findActor("blessingInfo");
|
|
||||||
blessing.setActor(blessingScroll);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create() {
|
public void create() {
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ import com.badlogic.gdx.Gdx;
|
|||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.badlogic.gdx.utils.Timer;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.character.ShopActor;
|
import forge.adventure.character.ShopActor;
|
||||||
import forge.adventure.player.AdventurePlayer;
|
import forge.adventure.player.AdventurePlayer;
|
||||||
@@ -23,8 +24,8 @@ import forge.sound.SoundSystem;
|
|||||||
* Displays the rewards of a fight or a treasure
|
* Displays the rewards of a fight or a treasure
|
||||||
*/
|
*/
|
||||||
public class RewardScene extends UIScene {
|
public class RewardScene extends UIScene {
|
||||||
private TextButton doneButton;
|
private TextraButton doneButton;
|
||||||
private Label goldLabel;
|
private TextraLabel goldLabel;
|
||||||
|
|
||||||
private static RewardScene object;
|
private static RewardScene object;
|
||||||
|
|
||||||
@@ -272,7 +273,7 @@ public class RewardScene extends UIScene {
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case Shop:
|
case Shop:
|
||||||
doneButton.setText(Forge.getLocalizer().getMessage("lblLeave"));
|
doneButton.setText(Forge.getLocalizer().getMessage("lblLeave"));
|
||||||
goldLabel.setText("Gold:"+Current.player().getGold());
|
goldLabel.setText(Current.player().getGold()+"[+Gold]");
|
||||||
break;
|
break;
|
||||||
case Loot:
|
case Loot:
|
||||||
goldLabel.setText("");
|
goldLabel.setText("");
|
||||||
@@ -360,7 +361,7 @@ public class RewardScene extends UIScene {
|
|||||||
if (currentRow != ((i + 1) / numberOfColumns))
|
if (currentRow != ((i + 1) / numberOfColumns))
|
||||||
yOff += doneButton.getHeight();
|
yOff += doneButton.getHeight();
|
||||||
|
|
||||||
TextButton buyCardButton = new BuyButton(shopActor.getObjectId(), i, shopActor.isUnlimited()?null:shopActor.getMapStage().getChanges(), actor, doneButton);
|
TextraButton buyCardButton = new BuyButton(shopActor.getObjectId(), i, shopActor.isUnlimited()?null:shopActor.getMapStage().getChanges(), actor, doneButton);
|
||||||
generated.add(buyCardButton);
|
generated.add(buyCardButton);
|
||||||
if (!skipCard) {
|
if (!skipCard) {
|
||||||
stage.addActor(buyCardButton);
|
stage.addActor(buyCardButton);
|
||||||
@@ -386,7 +387,7 @@ public class RewardScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class BuyButton extends TextButton {
|
private class BuyButton extends TextraButton {
|
||||||
private final int objectID;
|
private final int objectID;
|
||||||
private final int index;
|
private final int index;
|
||||||
private final PointOfInterestChanges changes;
|
private final PointOfInterestChanges changes;
|
||||||
@@ -397,7 +398,7 @@ public class RewardScene extends UIScene {
|
|||||||
setDisabled(WorldSave.getCurrentSave().getPlayer().getGold() < price);
|
setDisabled(WorldSave.getCurrentSave().getPlayer().getGold() < price);
|
||||||
}
|
}
|
||||||
|
|
||||||
public BuyButton(int id, int i, PointOfInterestChanges ch, RewardActor actor, TextButton style) {
|
public BuyButton(int id, int i, PointOfInterestChanges ch, RewardActor actor, TextraButton style) {
|
||||||
super("", style.getStyle());
|
super("", style.getStyle());
|
||||||
this.objectID = id;
|
this.objectID = id;
|
||||||
this.index = i;
|
this.index = i;
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import com.badlogic.gdx.utils.Align;
|
|||||||
import com.badlogic.gdx.utils.GdxRuntimeException;
|
import com.badlogic.gdx.utils.GdxRuntimeException;
|
||||||
import com.badlogic.gdx.utils.IntMap;
|
import com.badlogic.gdx.utils.IntMap;
|
||||||
import com.badlogic.gdx.utils.Scaling;
|
import com.badlogic.gdx.utils.Scaling;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.DifficultyData;
|
import forge.adventure.data.DifficultyData;
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
@@ -32,19 +34,19 @@ import java.util.zip.InflaterInputStream;
|
|||||||
* Scene to load and save the game.
|
* Scene to load and save the game.
|
||||||
*/
|
*/
|
||||||
public class SaveLoadScene extends UIScene {
|
public class SaveLoadScene extends UIScene {
|
||||||
private final IntMap<TextButton> buttons = new IntMap<>();
|
private final IntMap<TextraButton> buttons = new IntMap<>();
|
||||||
IntMap<WorldSaveHeader> previews = new IntMap<>();
|
IntMap<WorldSaveHeader> previews = new IntMap<>();
|
||||||
Color defColor;
|
Color defColor;
|
||||||
Table layout;
|
Table layout;
|
||||||
Modes mode;
|
Modes mode;
|
||||||
Dialog dialog;
|
Dialog dialog;
|
||||||
TextField textInput;
|
TextField textInput;
|
||||||
Label header;
|
TextraLabel header;
|
||||||
int currentSlot = -3, lastSelectedSlot = 0;
|
int currentSlot = -3, lastSelectedSlot = 0;
|
||||||
Image previewImage;
|
Image previewImage;
|
||||||
Label previewDate;
|
TextraLabel previewDate;
|
||||||
Image previewBorder;
|
Image previewBorder;
|
||||||
TextButton saveLoadButton, back, quickSave, autoSave, dialogSaveBtn, dialogAbortBtn;
|
TextraButton saveLoadButton, back, quickSave, autoSave, dialogSaveBtn, dialogAbortBtn;
|
||||||
Actor lastHighlightedSave;
|
Actor lastHighlightedSave;
|
||||||
SelectBox difficulty;
|
SelectBox difficulty;
|
||||||
ScrollPane scrollPane;
|
ScrollPane scrollPane;
|
||||||
@@ -73,14 +75,17 @@ public class SaveLoadScene extends UIScene {
|
|||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName") + ": ")).align(Align.left).pad(2, 15, 2, 2);
|
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName") + ": ")).align(Align.left).pad(2, 15, 2, 2);
|
||||||
dialog.getButtonTable().add(textInput).fillX().expandX().padRight(15);
|
dialog.getButtonTable().add(textInput).fillX().expandX().padRight(15);
|
||||||
dialog.getButtonTable().row();
|
dialog.getButtonTable().row();
|
||||||
dialog.getButtonTable().add(Controls.newTextButton(Forge.getLocalizer().getMessage("lblSave"), () -> SaveLoadScene.this.save())).align(Align.left).padLeft(15);
|
dialogSaveBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblSave"), () -> SaveLoadScene.this.save());
|
||||||
dialog.getButtonTable().add(Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> SaveLoadScene.this.saveAbort())).align(Align.right).padRight(15);
|
dialog.getButtonTable().add(dialogSaveBtn).align(Align.left).padLeft(15);
|
||||||
|
dialogAbortBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> SaveLoadScene.this.saveAbort());
|
||||||
|
dialog.getButtonTable().add(dialogAbortBtn).align(Align.right).padRight(15);
|
||||||
|
|
||||||
//makes dialog hidden immediately when you open saveload scene..
|
//makes dialog hidden immediately when you open saveload scene..
|
||||||
dialog.getColor().a = 0;
|
dialog.getColor().a = 0;
|
||||||
|
dialog.hide();
|
||||||
previewImage = ui.findActor("preview");
|
previewImage = ui.findActor("preview");
|
||||||
previewDate = ui.findActor("saveDate");
|
previewDate = ui.findActor("saveDate");
|
||||||
header = Controls.newLabel(Forge.getLocalizer().getMessage("lblSave"));
|
header = Controls.newTextraLabel(Forge.getLocalizer().getMessage("lblSave"));
|
||||||
header.setAlignment(Align.center);
|
header.setAlignment(Align.center);
|
||||||
layout.add(header).pad(2).colspan(4).align(Align.center).expandX();
|
layout.add(header).pad(2).colspan(4).align(Align.center).expandX();
|
||||||
layout.row();
|
layout.row();
|
||||||
@@ -90,15 +95,14 @@ public class SaveLoadScene extends UIScene {
|
|||||||
addSaveSlot(Forge.getLocalizer().getMessage("lblSlot") + ": " + i, i);
|
addSaveSlot(Forge.getLocalizer().getMessage("lblSlot") + ": " + i, i);
|
||||||
|
|
||||||
saveLoadButton = ui.findActor("save");
|
saveLoadButton = ui.findActor("save");
|
||||||
saveLoadButton.getLabel().setText(Forge.getLocalizer().getMessage("lblSave"));
|
saveLoadButton.setText(Forge.getLocalizer().getMessage("lblSave"));
|
||||||
ui.onButtonPress("save", () -> SaveLoadScene.this.loadSave());
|
ui.onButtonPress("save", () -> SaveLoadScene.this.loadSave());
|
||||||
back = ui.findActor("return");
|
back = ui.findActor("return");
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
ui.onButtonPress("return", () -> SaveLoadScene.this.back());
|
ui.onButtonPress("return", () -> SaveLoadScene.this.back());
|
||||||
|
|
||||||
defColor = saveLoadButton.getColor();
|
defColor = saveLoadButton.getColor();
|
||||||
|
|
||||||
ScrollPane scrollPane = ui.findActor("saveSlots");
|
scrollPane = ui.findActor("saveSlots");
|
||||||
scrollPane.setActor(layout);
|
scrollPane.setActor(layout);
|
||||||
ui.addActor(difficulty);
|
ui.addActor(difficulty);
|
||||||
difficulty.setSelectedIndex(1);
|
difficulty.setSelectedIndex(1);
|
||||||
@@ -123,9 +127,9 @@ public class SaveLoadScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private TextButton addSaveSlot(String name, int i) {
|
private TextraButton addSaveSlot(String name, int i) {
|
||||||
layout.add(Controls.newLabel(name)).align(Align.left).pad(2, 5, 2, 10);
|
layout.add(Controls.newLabel(name)).align(Align.left).pad(2, 5, 2, 10);
|
||||||
TextButton button = Controls.newTextButton("...");
|
TextraButton button = Controls.newTextButton("...");
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
@@ -137,7 +141,7 @@ public class SaveLoadScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
layout.add(button).align(Align.left).expandX();
|
layout.add(button).fill(true,false).expand(true,false).align(Align.left).expandX();
|
||||||
buttons.put(i, button);
|
buttons.put(i, button);
|
||||||
layout.row();
|
layout.row();
|
||||||
return button;
|
return button;
|
||||||
@@ -171,11 +175,11 @@ public class SaveLoadScene extends UIScene {
|
|||||||
if (previewDate != null)
|
if (previewDate != null)
|
||||||
previewDate.setVisible(false);
|
previewDate.setVisible(false);
|
||||||
}
|
}
|
||||||
for (IntMap.Entry<TextButton> butt : new IntMap.Entries<TextButton>(buttons)) {
|
for (IntMap.Entry<TextraButton> butt : new IntMap.Entries<TextraButton>(buttons)) {
|
||||||
butt.value.setColor(defColor);
|
butt.value.setColor(defColor);
|
||||||
}
|
}
|
||||||
if (buttons.containsKey(slot)) {
|
if (buttons.containsKey(slot)) {
|
||||||
TextButton button = buttons.get(slot);
|
TextraButton button = buttons.get(slot);
|
||||||
button.setColor(Color.RED);
|
button.setColor(Color.RED);
|
||||||
selectActor(button, false);
|
selectActor(button, false);
|
||||||
}
|
}
|
||||||
@@ -448,8 +452,8 @@ public class SaveLoadScene extends UIScene {
|
|||||||
else
|
else
|
||||||
select(-3);
|
select(-3);
|
||||||
updateFiles();
|
updateFiles();
|
||||||
autoSave.getLabel().setText(Forge.getLocalizer().getMessage("lblAutoSave"));
|
autoSave.setText(Forge.getLocalizer().getMessage("lblAutoSave"));
|
||||||
quickSave.getLabel().setText(Forge.getLocalizer().getMessage("lblQuickSave"));
|
quickSave.setText(Forge.getLocalizer().getMessage("lblQuickSave"));
|
||||||
if (mode == Modes.NewGamePlus) {
|
if (mode == Modes.NewGamePlus) {
|
||||||
if (difficulty != null) {
|
if (difficulty != null) {
|
||||||
difficulty.setVisible(true);
|
difficulty.setVisible(true);
|
||||||
@@ -485,70 +489,4 @@ public class SaveLoadScene extends UIScene {
|
|||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void resLoaded() {
|
|
||||||
super.resLoaded();
|
|
||||||
layout = new Table();
|
|
||||||
stage.addActor(layout);
|
|
||||||
dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
textInput = Controls.newTextField("");
|
|
||||||
int c = 0;
|
|
||||||
String[] diffList = new String[Config.instance().getConfigData().difficulties.length];
|
|
||||||
for (DifficultyData diff : Config.instance().getConfigData().difficulties) {
|
|
||||||
diffList[c] = diff.name;
|
|
||||||
c++;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
difficulty = Controls.newComboBox(diffList, null, o -> {
|
|
||||||
//DifficultyData difficulty1 = Config.instance().getConfigData().difficulties[difficulty.getSelectedIndex()];
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2).pad(2, 15, 2, 15);
|
|
||||||
dialog.getButtonTable().row();
|
|
||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName") + ": ")).align(Align.left).pad(2, 15, 2, 2);
|
|
||||||
dialog.getButtonTable().add(textInput).fillX().expandX().padRight(15);
|
|
||||||
dialog.getButtonTable().row();
|
|
||||||
dialogSaveBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblSave"), () -> SaveLoadScene.this.save());
|
|
||||||
dialog.getButtonTable().add(dialogSaveBtn).align(Align.left).padLeft(15);
|
|
||||||
dialogAbortBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> SaveLoadScene.this.saveAbort());
|
|
||||||
dialog.getButtonTable().add(dialogAbortBtn).align(Align.right).padRight(15);
|
|
||||||
|
|
||||||
//makes dialog hidden immediately when you open saveload scene..
|
|
||||||
dialog.getColor().a = 0;
|
|
||||||
dialog.hide();
|
|
||||||
previewImage = ui.findActor("preview");
|
|
||||||
previewDate = ui.findActor("saveDate");
|
|
||||||
header = Controls.newLabel(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
header.setAlignment(Align.center);
|
|
||||||
layout.add(header).pad(2).colspan(4).align(Align.center).expandX();
|
|
||||||
layout.row();
|
|
||||||
autoSave = addSaveSlot(Forge.getLocalizer().getMessage("lblAutoSave"), WorldSave.AUTO_SAVE_SLOT);
|
|
||||||
quickSave = addSaveSlot(Forge.getLocalizer().getMessage("lblQuickSave"), WorldSave.QUICK_SAVE_SLOT);
|
|
||||||
for (int i = 1; i < 11; i++)
|
|
||||||
addSaveSlot(Forge.getLocalizer().getMessage("lblSlot") + ": " + i, i);
|
|
||||||
|
|
||||||
saveLoadButton = ui.findActor("save");
|
|
||||||
saveLoadButton.getLabel().setText(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
ui.onButtonPress("save", () -> SaveLoadScene.this.loadSave());
|
|
||||||
back = ui.findActor("return");
|
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
ui.onButtonPress("return", () -> SaveLoadScene.this.back());
|
|
||||||
|
|
||||||
defColor = saveLoadButton.getColor();
|
|
||||||
|
|
||||||
scrollPane = ui.findActor("saveSlots");
|
|
||||||
scrollPane.setActor(layout);
|
|
||||||
ui.addActor(difficulty);
|
|
||||||
difficulty.setSelectedIndex(1);
|
|
||||||
difficulty.setAlignment(Align.center);
|
|
||||||
difficulty.getStyle().fontColor = Color.GOLD;
|
|
||||||
if (Forge.isLandscapeMode()) {
|
|
||||||
difficulty.setX(280);
|
|
||||||
difficulty.setY(220);
|
|
||||||
} else {
|
|
||||||
difficulty.setX(190);
|
|
||||||
difficulty.setY(336);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
import forge.adventure.util.Controls;
|
import forge.adventure.util.Controls;
|
||||||
@@ -24,123 +24,12 @@ public class SettingsScene extends UIScene {
|
|||||||
Stage stage;
|
Stage stage;
|
||||||
Texture Background;
|
Texture Background;
|
||||||
private Table settingGroup;
|
private Table settingGroup;
|
||||||
TextButton back;
|
TextraButton backButton;
|
||||||
ScrollPane scrollPane;
|
ScrollPane scrollPane;
|
||||||
|
|
||||||
private SettingsScene() {
|
private SettingsScene() {
|
||||||
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void dispose() {
|
|
||||||
if (stage != null)
|
|
||||||
stage.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void renderAct(float delta) {
|
|
||||||
Gdx.gl.glClearColor(1, 0, 1, 1);
|
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
|
||||||
stage.getBatch().begin();
|
|
||||||
stage.getBatch().disableBlending();
|
|
||||||
stage.getBatch().draw(Background, 0, 0, getIntendedWidth(), getIntendedHeight());
|
|
||||||
stage.getBatch().enableBlending();
|
|
||||||
stage.getBatch().end();
|
|
||||||
stage.act(delta);
|
|
||||||
stage.draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_B)
|
|
||||||
performTouch(back);
|
|
||||||
else if (keycode == Input.Keys.BUTTON_L1) {
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_R1) {
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean back() {
|
|
||||||
Forge.switchToLast();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addInputField(String name, ForgePreferences.FPref pref) {
|
|
||||||
TextField box = Controls.newTextField("");
|
|
||||||
box.setText(Preference.getPref(pref));
|
|
||||||
box.addListener(new ChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
|
||||||
Preference.setPref(pref, ((TextField) actor).getText());
|
|
||||||
Preference.save();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
addLabel(name);
|
|
||||||
settingGroup.add(box).align(Align.right);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addCheckBox(String name, ForgePreferences.FPref pref) {
|
|
||||||
CheckBox box = Controls.newCheckBox("");
|
|
||||||
box.setChecked(Preference.getPrefBoolean(pref));
|
|
||||||
box.addListener(new ChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
|
||||||
Preference.setPref(pref, ((CheckBox) actor).isChecked());
|
|
||||||
Preference.save();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
addLabel(name);
|
|
||||||
settingGroup.add(box).align(Align.right);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addSettingSlider(String name, ForgePreferences.FPref pref, int min, int max) {
|
|
||||||
Slider slide = Controls.newSlider(min, max, 1, false);
|
|
||||||
slide.setValue(Preference.getPrefInt(pref));
|
|
||||||
slide.addListener(new ChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
|
||||||
Preference.setPref(pref, String.valueOf((int) ((Slider) actor).getValue()));
|
|
||||||
Preference.save();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
addLabel(name);
|
|
||||||
settingGroup.add(slide).align(Align.right);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addSettingField(String name, boolean value, ChangeListener change) {
|
|
||||||
CheckBox box = Controls.newCheckBox("");
|
|
||||||
box.setChecked(value);
|
|
||||||
box.addListener(change);
|
|
||||||
addLabel(name);
|
|
||||||
settingGroup.add(box).align(Align.right);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addSettingField(String name, int value, ChangeListener change) {
|
|
||||||
TextField text = Controls.newTextField(String.valueOf(value));
|
|
||||||
text.setTextFieldFilter((textField, c) -> Character.isDigit(c));
|
|
||||||
text.addListener(change);
|
|
||||||
addLabel(name);
|
|
||||||
settingGroup.add(text).align(Align.right);
|
|
||||||
}
|
|
||||||
|
|
||||||
void addLabel(String name) {
|
|
||||||
Label label = Controls.newLabel(name);
|
|
||||||
label.setWrap(true);
|
|
||||||
settingGroup.row().space(5);
|
|
||||||
int w = Forge.isLandscapeMode() ? 160 : 80;
|
|
||||||
settingGroup.add(label).align(Align.left).pad(2, 2, 2, 5).width(w).expand();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void resLoaded() {
|
|
||||||
super.resLoaded();
|
|
||||||
settingGroup = new Table();
|
settingGroup = new Table();
|
||||||
if (Preference == null) {
|
if (Preference == null) {
|
||||||
Preference = new ForgePreferences();
|
Preference = new ForgePreferences();
|
||||||
@@ -271,47 +160,27 @@ public class SettingsScene extends UIScene {
|
|||||||
|
|
||||||
|
|
||||||
settingGroup.row();
|
settingGroup.row();
|
||||||
back = ui.findActor("return");
|
backButton = ui.findActor("return");
|
||||||
back.getLabel().setText(Forge.getLocalizer().getMessage("lblBack"));
|
|
||||||
ui.onButtonPress("return", SettingsScene.this::back);
|
ui.onButtonPress("return", SettingsScene.this::back);
|
||||||
|
|
||||||
ScrollPane scrollPane = ui.findActor("settings");
|
ScrollPane scrollPane = ui.findActor("settings");
|
||||||
scrollPane.setActor(settingGroup);
|
scrollPane.setActor(settingGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SettingsScene object;
|
|
||||||
|
|
||||||
public static SettingsScene instance() {
|
|
||||||
if(object==null)
|
|
||||||
object=new SettingsScene();
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void dispose() {
|
|
||||||
if (stage != null)
|
|
||||||
stage.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void renderAct(float delta) {
|
|
||||||
Gdx.gl.glClearColor(1, 0, 1, 1);
|
|
||||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
|
||||||
stage.getBatch().begin();
|
|
||||||
stage.getBatch().disableBlending();
|
|
||||||
stage.getBatch().draw(Background, 0, 0, getIntendedWidth(), getIntendedHeight());
|
|
||||||
stage.getBatch().enableBlending();
|
|
||||||
stage.getBatch().end();
|
|
||||||
stage.act(delta);
|
|
||||||
stage.draw();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keycode) {
|
public boolean keyPressed(int keycode) {
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
||||||
back();
|
back();
|
||||||
}
|
}
|
||||||
|
if (keycode == Input.Keys.BUTTON_B)
|
||||||
|
performTouch(backButton);
|
||||||
|
else if (keycode == Input.Keys.BUTTON_L1) {
|
||||||
|
scrollPane.fling(1f, 0, -300);
|
||||||
|
} else if (keycode == Input.Keys.BUTTON_R1) {
|
||||||
|
scrollPane.fling(1f, 0, +300);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -381,13 +250,31 @@ public class SettingsScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void addLabel(String name) {
|
void addLabel(String name) {
|
||||||
Label label = Controls.newLabel(name);
|
TextraLabel label = Controls.newTextraLabel(name);
|
||||||
label.setWrap(true);
|
label.setWrap(true);
|
||||||
settingGroup.row().space(5);
|
settingGroup.row().space(5);
|
||||||
int w = Forge.isLandscapeMode() ? 160 : 80;
|
int w = Forge.isLandscapeMode() ? 160 : 80;
|
||||||
settingGroup.add(label).align(Align.left).pad(2, 2, 2, 5).width(w).expand();
|
settingGroup.add(label).align(Align.left).pad(2, 2, 2, 5).width(w).expand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static SettingsScene object;
|
||||||
|
|
||||||
|
public static SettingsScene instance() {
|
||||||
|
if(object==null)
|
||||||
|
object=new SettingsScene();
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dispose() {
|
||||||
|
if (stage != null)
|
||||||
|
stage.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create() {
|
public void create() {
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ package forge.adventure.scene;
|
|||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.SelectBox;
|
import com.badlogic.gdx.scenes.scene2d.ui.SelectBox;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.StaticData;
|
import forge.StaticData;
|
||||||
import forge.adventure.data.RewardData;
|
import forge.adventure.data.RewardData;
|
||||||
@@ -38,15 +38,15 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<PaperCard> cardPool = new ArrayList<>();
|
private List<PaperCard> cardPool = new ArrayList<>();
|
||||||
private Label goldLabel;
|
private TextraLabel goldLabel;
|
||||||
private TextButton pullButton;
|
private TextraButton pullButton;
|
||||||
private ScrollPane rewardDummy;
|
private ScrollPane rewardDummy;
|
||||||
private RewardActor rewardActor;
|
private RewardActor rewardActor;
|
||||||
SelectBox<CardEdition> editionList;
|
SelectBox<CardEdition> editionList;
|
||||||
//Button containers.
|
//Button containers.
|
||||||
final private HashMap<String, TextButton> rarityButtons = new HashMap<>();
|
final private HashMap<String, TextraButton> rarityButtons = new HashMap<>();
|
||||||
final private HashMap<String, TextButton> costButtons = new HashMap<>();
|
final private HashMap<String, TextraButton> costButtons = new HashMap<>();
|
||||||
final private HashMap<String, TextButton> colorButtons = new HashMap<>();
|
final private HashMap<String, TextraButton> colorButtons = new HashMap<>();
|
||||||
//Filter variables.
|
//Filter variables.
|
||||||
private String edition = "";
|
private String edition = "";
|
||||||
private String rarity = "";
|
private String rarity = "";
|
||||||
@@ -91,7 +91,7 @@ public class SpellSmithScene extends UIScene {
|
|||||||
pullButton.setDisabled(true);
|
pullButton.setDisabled(true);
|
||||||
goldLabel.setText("Gold: "+ Current.player().getGold());
|
goldLabel.setText("Gold: "+ Current.player().getGold());
|
||||||
for(String i : new String[]{"BBlack", "BBlue", "BGreen", "BRed", "BWhite", "BColorless"} ){
|
for(String i : new String[]{"BBlack", "BBlue", "BGreen", "BRed", "BWhite", "BColorless"} ){
|
||||||
TextButton button = ui.findActor(i);
|
TextraButton button = ui.findActor(i);
|
||||||
if(button != null){
|
if(button != null){
|
||||||
colorButtons.put(i, button);
|
colorButtons.put(i, button);
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@@ -104,7 +104,7 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(String i : new String[]{"BCommon", "BUncommon", "BRare", "BMythic"} ){
|
for(String i : new String[]{"BCommon", "BUncommon", "BRare", "BMythic"} ){
|
||||||
TextButton button = ui.findActor(i);
|
TextraButton button = ui.findActor(i);
|
||||||
if(button != null) {
|
if(button != null) {
|
||||||
rarityButtons.put(i, button);
|
rarityButtons.put(i, button);
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@@ -117,7 +117,7 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(String i : new String[]{"B02", "B35", "B68", "B9X"} ){
|
for(String i : new String[]{"B02", "B35", "B68", "B9X"} ){
|
||||||
TextButton button = ui.findActor(i);
|
TextraButton button = ui.findActor(i);
|
||||||
if(button != null) {
|
if(button != null) {
|
||||||
costButtons.put(i, button);
|
costButtons.put(i, button);
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@@ -148,7 +148,7 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean selectRarity(String what){
|
private boolean selectRarity(String what){
|
||||||
for(Map.Entry<String, TextButton> B : rarityButtons.entrySet())
|
for(Map.Entry<String, TextraButton> B : rarityButtons.entrySet())
|
||||||
B.getValue().setColor(Color.WHITE);
|
B.getValue().setColor(Color.WHITE);
|
||||||
switch(what){
|
switch(what){
|
||||||
case "BCommon":
|
case "BCommon":
|
||||||
@@ -170,11 +170,11 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void selectColor(String what){
|
private void selectColor(String what){
|
||||||
TextButton B = colorButtons.get(what);
|
TextraButton B = colorButtons.get(what);
|
||||||
switch(what){
|
switch(what){
|
||||||
case "BColorless":
|
case "BColorless":
|
||||||
if(B.getColor().equals(Color.RED)) B.setColor(Color.WHITE); else {
|
if(B.getColor().equals(Color.RED)) B.setColor(Color.WHITE); else {
|
||||||
for (Map.Entry<String, TextButton> BT : colorButtons.entrySet())
|
for (Map.Entry<String, TextraButton> BT : colorButtons.entrySet())
|
||||||
BT.getValue().setColor(Color.WHITE);
|
BT.getValue().setColor(Color.WHITE);
|
||||||
B.setColor(Color.RED);
|
B.setColor(Color.RED);
|
||||||
}
|
}
|
||||||
@@ -191,7 +191,7 @@ public class SpellSmithScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean selectCost(String what){
|
private boolean selectCost(String what){
|
||||||
for(Map.Entry<String, TextButton> B : costButtons.entrySet())
|
for(Map.Entry<String, TextraButton> B : costButtons.entrySet())
|
||||||
B.getValue().setColor(Color.WHITE);
|
B.getValue().setColor(Color.WHITE);
|
||||||
switch(what){
|
switch(what){
|
||||||
case "B02":
|
case "B02":
|
||||||
@@ -218,11 +218,11 @@ public class SpellSmithScene extends UIScene {
|
|||||||
cost_low = -1; cost_high = 9999;
|
cost_low = -1; cost_high = 9999;
|
||||||
rarity = "";
|
rarity = "";
|
||||||
currentPrice = (int)basePrice;
|
currentPrice = (int)basePrice;
|
||||||
goldLabel.setText("Gold: "+ Current.player().getGold());
|
goldLabel.setText(Current.player().getGold()+"[+Gold]");
|
||||||
|
|
||||||
for(Map.Entry<String, TextButton> B : colorButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
for(Map.Entry<String, TextraButton> B : colorButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
||||||
for(Map.Entry<String, TextButton> B : costButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
for(Map.Entry<String, TextraButton> B : costButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
||||||
for(Map.Entry<String, TextButton> B : rarityButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
for(Map.Entry<String, TextraButton> B : rarityButtons.entrySet()) B.getValue().setColor(Color.WHITE);
|
||||||
editionList.setColor(Color.WHITE);
|
editionList.setColor(Color.WHITE);
|
||||||
filterResults();
|
filterResults();
|
||||||
super.enter();
|
super.enter();
|
||||||
@@ -231,10 +231,10 @@ public class SpellSmithScene extends UIScene {
|
|||||||
|
|
||||||
public void filterResults() {
|
public void filterResults() {
|
||||||
Iterable<PaperCard> P = RewardData.getAllCards();
|
Iterable<PaperCard> P = RewardData.getAllCards();
|
||||||
goldLabel.setText("Gold: "+ Current.player().getGold());
|
goldLabel.setText( Current.player().getGold()+"[+Gold]");
|
||||||
float totalCost = basePrice * Current.player().goldModifier();
|
float totalCost = basePrice * Current.player().goldModifier();
|
||||||
final List<String> colorFilter = new ArrayList<>();
|
final List<String> colorFilter = new ArrayList<>();
|
||||||
for(Map.Entry<String, TextButton> B : colorButtons.entrySet())
|
for(Map.Entry<String, TextraButton> B : colorButtons.entrySet())
|
||||||
switch (B.getKey()){
|
switch (B.getKey()){
|
||||||
case "BColorless":
|
case "BColorless":
|
||||||
if(B.getValue().getColor().equals(Color.RED)) colorFilter.add("Colorless");
|
if(B.getValue().getColor().equals(Color.RED)) colorFilter.add("Colorless");
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package forge.adventure.scene;
|
|||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.stage.GameHUD;
|
import forge.adventure.stage.GameHUD;
|
||||||
import forge.adventure.stage.GameStage;
|
import forge.adventure.stage.GameStage;
|
||||||
@@ -20,8 +20,10 @@ import forge.screens.TransitionScreen;
|
|||||||
*/
|
*/
|
||||||
public class StartScene extends UIScene {
|
public class StartScene extends UIScene {
|
||||||
|
|
||||||
TextButton saveButton, resumeButton, continueButton, newGameButton, newGameButtonPlus, loadButton, settingsButton, exitButton, switchButton;
|
private static StartScene object;
|
||||||
|
TextraButton saveButton, resumeButton, continueButton, newGameButton, newGameButtonPlus, loadButton, settingsButton, exitButton, switchButton, dialogOk, dialogCancel, dialogButtonSelected;
|
||||||
Dialog dialog;
|
Dialog dialog;
|
||||||
|
private int selected = -1;
|
||||||
|
|
||||||
public StartScene() {
|
public StartScene() {
|
||||||
super(Forge.isLandscapeMode() ? "ui/start_menu.json" : "ui/start_menu_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/start_menu.json" : "ui/start_menu_portrait.json");
|
||||||
@@ -36,23 +38,13 @@ public class StartScene extends UIScene {
|
|||||||
ui.onButtonPress("Switch", () -> Forge.switchToClassic());
|
ui.onButtonPress("Switch", () -> Forge.switchToClassic());
|
||||||
|
|
||||||
newGameButton = ui.findActor("Start");
|
newGameButton = ui.findActor("Start");
|
||||||
newGameButton.getLabel().setText(Forge.getLocalizer().getMessage("lblNewGame"));
|
|
||||||
newGameButtonPlus = ui.findActor("Start+");
|
|
||||||
newGameButtonPlus.getLabel().setText(Forge.getLocalizer().getMessage("lblNewGame") + "+");
|
|
||||||
loadButton = ui.findActor("Load");
|
loadButton = ui.findActor("Load");
|
||||||
loadButton.getLabel().setText(Forge.getLocalizer().getMessage("lblLoad"));
|
|
||||||
saveButton = ui.findActor("Save");
|
saveButton = ui.findActor("Save");
|
||||||
saveButton.getLabel().setText(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
resumeButton = ui.findActor("Resume");
|
resumeButton = ui.findActor("Resume");
|
||||||
resumeButton.getLabel().setText(Forge.getLocalizer().getMessage("lblResume"));
|
|
||||||
continueButton = ui.findActor("Continue");
|
continueButton = ui.findActor("Continue");
|
||||||
continueButton.getLabel().setText(Forge.getLocalizer().getMessage("lblContinue"));
|
|
||||||
settingsButton = ui.findActor("Settings");
|
settingsButton = ui.findActor("Settings");
|
||||||
settingsButton.getLabel().setText(Forge.getLocalizer().getMessage("lblSettings"));
|
|
||||||
exitButton = ui.findActor("Exit");
|
exitButton = ui.findActor("Exit");
|
||||||
exitButton.getLabel().setText(Forge.getLocalizer().getMessage("lblExit"));
|
|
||||||
switchButton = ui.findActor("Switch");
|
switchButton = ui.findActor("Switch");
|
||||||
switchButton.getLabel().setText(Forge.getLocalizer().getMessage("lblClassic"));
|
|
||||||
|
|
||||||
saveButton.setVisible(false);
|
saveButton.setVisible(false);
|
||||||
resumeButton.setVisible(false);
|
resumeButton.setVisible(false);
|
||||||
@@ -67,6 +59,12 @@ public class StartScene extends UIScene {
|
|||||||
dialog.getColor().a = 0;
|
dialog.getColor().a = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static StartScene instance() {
|
||||||
|
if(object==null)
|
||||||
|
object=new StartScene();
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean NewGame() {
|
public boolean NewGame() {
|
||||||
Forge.switchScene(NewGameScene.instance());
|
Forge.switchScene(NewGameScene.instance());
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -9,18 +9,14 @@ import com.badlogic.gdx.math.Vector2;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
||||||
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.TextButton;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
import com.badlogic.gdx.utils.ObjectMap;
|
import com.badlogic.gdx.utils.ObjectMap;
|
||||||
import com.badlogic.gdx.utils.Scaling;
|
import com.badlogic.gdx.utils.Scaling;
|
||||||
import com.badlogic.gdx.utils.Timer;
|
import com.badlogic.gdx.utils.Timer;
|
||||||
import com.badlogic.gdx.utils.viewport.ScalingViewport;
|
import com.badlogic.gdx.utils.viewport.ScalingViewport;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
import forge.adventure.util.Controls;
|
import forge.adventure.util.Controls;
|
||||||
@@ -37,7 +33,7 @@ public class UIScene extends Scene {
|
|||||||
String uiFile;
|
String uiFile;
|
||||||
private Dialog keyboardDialog;
|
private Dialog keyboardDialog;
|
||||||
private Label kbLabel;
|
private Label kbLabel;
|
||||||
private TextButton keyA, keyB, keyC, keyD, keyE, keyF, keyG, keyH, keyI, keyJ, keyK, keyL, keyM, keyN, keyO, keyP,
|
private TextraButton keyA, keyB, keyC, keyD, keyE, keyF, keyG, keyH, keyI, keyJ, keyK, keyL, keyM, keyN, keyO, keyP,
|
||||||
keyQ, keyR, keyS, keyT, keyU, keyV, keyW, keyX, keyY, keyZ, key1, key2, key3, key4, key5, key6, key7, key8,
|
keyQ, keyR, keyS, keyT, keyU, keyV, keyW, keyX, keyY, keyZ, key1, key2, key3, key4, key5, key6, key7, key8,
|
||||||
key9, key0, keyDot, keyComma, keyShift, keyBackspace, keySpace, keyOK;
|
key9, key0, keyDot, keyComma, keyShift, keyBackspace, keySpace, keyOK;
|
||||||
public Actor lastInputField;
|
public Actor lastInputField;
|
||||||
@@ -246,33 +242,33 @@ public class UIScene extends Scene {
|
|||||||
}
|
}
|
||||||
private void shiftKey() {
|
private void shiftKey() {
|
||||||
lowercaseKey = !lowercaseKey;
|
lowercaseKey = !lowercaseKey;
|
||||||
keyShift.getLabel().setColor(lowercaseKey ? Color.WHITE : Color.CYAN);
|
keyShift.setColor(lowercaseKey ? Color.WHITE : Color.CYAN);
|
||||||
keyA.getLabel().setText(lowercaseKey ? "a" : "A");
|
keyA.setText(lowercaseKey ? "a" : "A");
|
||||||
keyB.getLabel().setText(lowercaseKey ? "b" : "B");
|
keyB.setText(lowercaseKey ? "b" : "B");
|
||||||
keyC.getLabel().setText(lowercaseKey ? "c" : "C");
|
keyC.setText(lowercaseKey ? "c" : "C");
|
||||||
keyD.getLabel().setText(lowercaseKey ? "d" : "D");
|
keyD.setText(lowercaseKey ? "d" : "D");
|
||||||
keyE.getLabel().setText(lowercaseKey ? "e" : "E");
|
keyE.setText(lowercaseKey ? "e" : "E");
|
||||||
keyF.getLabel().setText(lowercaseKey ? "f" : "F");
|
keyF.setText(lowercaseKey ? "f" : "F");
|
||||||
keyG.getLabel().setText(lowercaseKey ? "g" : "G");
|
keyG.setText(lowercaseKey ? "g" : "G");
|
||||||
keyH.getLabel().setText(lowercaseKey ? "h" : "H");
|
keyH.setText(lowercaseKey ? "h" : "H");
|
||||||
keyI.getLabel().setText(lowercaseKey ? "i" : "I");
|
keyI.setText(lowercaseKey ? "i" : "I");
|
||||||
keyJ.getLabel().setText(lowercaseKey ? "j" : "J");
|
keyJ.setText(lowercaseKey ? "j" : "J");
|
||||||
keyK.getLabel().setText(lowercaseKey ? "k" : "K");
|
keyK.setText(lowercaseKey ? "k" : "K");
|
||||||
keyL.getLabel().setText(lowercaseKey ? "l" : "L");
|
keyL.setText(lowercaseKey ? "l" : "L");
|
||||||
keyM.getLabel().setText(lowercaseKey ? "m" : "M");
|
keyM.setText(lowercaseKey ? "m" : "M");
|
||||||
keyN.getLabel().setText(lowercaseKey ? "n" : "N");
|
keyN.setText(lowercaseKey ? "n" : "N");
|
||||||
keyO.getLabel().setText(lowercaseKey ? "o" : "O");
|
keyO.setText(lowercaseKey ? "o" : "O");
|
||||||
keyP.getLabel().setText(lowercaseKey ? "p" : "P");
|
keyP.setText(lowercaseKey ? "p" : "P");
|
||||||
keyQ.getLabel().setText(lowercaseKey ? "q" : "Q");
|
keyQ.setText(lowercaseKey ? "q" : "Q");
|
||||||
keyR.getLabel().setText(lowercaseKey ? "r" : "R");
|
keyR.setText(lowercaseKey ? "r" : "R");
|
||||||
keyS.getLabel().setText(lowercaseKey ? "s" : "S");
|
keyS.setText(lowercaseKey ? "s" : "S");
|
||||||
keyT.getLabel().setText(lowercaseKey ? "t" : "T");
|
keyT.setText(lowercaseKey ? "t" : "T");
|
||||||
keyU.getLabel().setText(lowercaseKey ? "u" : "U");
|
keyU.setText(lowercaseKey ? "u" : "U");
|
||||||
keyV.getLabel().setText(lowercaseKey ? "v" : "V");
|
keyV.setText(lowercaseKey ? "v" : "V");
|
||||||
keyW.getLabel().setText(lowercaseKey ? "w" : "W");
|
keyW.setText(lowercaseKey ? "w" : "W");
|
||||||
keyX.getLabel().setText(lowercaseKey ? "x" : "X");
|
keyX.setText(lowercaseKey ? "x" : "X");
|
||||||
keyY.getLabel().setText(lowercaseKey ? "y" : "Y");
|
keyY.setText(lowercaseKey ? "y" : "Y");
|
||||||
keyZ.getLabel().setText(lowercaseKey ? "z" : "Z");
|
keyZ.setText(lowercaseKey ? "z" : "Z");
|
||||||
}
|
}
|
||||||
public void setSelectedKey(int keyCode) {
|
public void setSelectedKey(int keyCode) {
|
||||||
switch(keyCode) {
|
switch(keyCode) {
|
||||||
@@ -632,7 +628,7 @@ public class UIScene extends Scene {
|
|||||||
if (actor instanceof TextButton)
|
if (actor instanceof TextButton)
|
||||||
((TextButton) actor).fire(eventExit);
|
((TextButton) actor).fire(eventExit);
|
||||||
else if (actor instanceof Selector)
|
else if (actor instanceof Selector)
|
||||||
((Selector) actor).getLabel().fire(eventExit);
|
((Selector) actor).fire(eventExit);
|
||||||
else if (actor instanceof TextField) {
|
else if (actor instanceof TextField) {
|
||||||
if (stage.getKeyboardFocus() == actor)
|
if (stage.getKeyboardFocus() == actor)
|
||||||
stage.setKeyboardFocus(null);
|
stage.setKeyboardFocus(null);
|
||||||
@@ -668,8 +664,8 @@ public class UIScene extends Scene {
|
|||||||
if (kbVisible) {
|
if (kbVisible) {
|
||||||
if (selectedKey != null) {
|
if (selectedKey != null) {
|
||||||
selectedKey.fire(eventExit);
|
selectedKey.fire(eventExit);
|
||||||
if (selectedKey instanceof TextButton)
|
if (selectedKey instanceof TextraButton)
|
||||||
if (!(((TextButton) selectedKey) == keyOK || ((TextButton) selectedKey) == keySpace))
|
if (!(selectedKey == keyOK || selectedKey == keySpace))
|
||||||
lastSelectedKey = selectedKey;
|
lastSelectedKey = selectedKey;
|
||||||
}
|
}
|
||||||
selectedKey = actor;
|
selectedKey = actor;
|
||||||
@@ -685,10 +681,10 @@ public class UIScene extends Scene {
|
|||||||
return;
|
return;
|
||||||
Actor a = actorObjectMap.get(key);
|
Actor a = actorObjectMap.get(key);
|
||||||
if (a != null) {
|
if (a != null) {
|
||||||
if (a instanceof TextButton)
|
if (a instanceof TextraButton)
|
||||||
((TextButton) a).fire(eventEnter);
|
a.fire(eventEnter);
|
||||||
else if (a instanceof Selector)
|
else if (a instanceof Selector)
|
||||||
((Selector) a).getLabel().fire(eventEnter);
|
((Selector) a).fire(eventEnter);
|
||||||
else if (a instanceof TextField) {
|
else if (a instanceof TextField) {
|
||||||
stage.setKeyboardFocus(a);
|
stage.setKeyboardFocus(a);
|
||||||
} else if (a instanceof ImageButton) {
|
} else if (a instanceof ImageButton) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class Console extends Window {
|
|||||||
private Console console;
|
private Console console;
|
||||||
|
|
||||||
public InputLine(Console console) {
|
public InputLine(Console console) {
|
||||||
super("", Controls.GetSkin());
|
super("", Controls.getSkin());
|
||||||
this.console = console;
|
this.console = console;
|
||||||
writeEnters=true;
|
writeEnters=true;
|
||||||
}
|
}
|
||||||
@@ -77,8 +77,8 @@ public class Console extends Window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Console() {
|
public Console() {
|
||||||
super("", Controls.GetSkin());
|
super("", Controls.getSkin());
|
||||||
content = new Table(Controls.GetSkin());
|
content = new Table(Controls.getSkin());
|
||||||
input = new InputLine(this);
|
input = new InputLine(this);
|
||||||
scroll = new ScrollPane(content,new ScrollPane.ScrollPaneStyle());
|
scroll = new ScrollPane(content,new ScrollPane.ScrollPaneStyle());
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package forge.adventure.stage;
|
|||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
|
import com.badlogic.gdx.controllers.Controller;
|
||||||
|
import com.badlogic.gdx.controllers.ControllerListener;
|
||||||
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.Pixmap;
|
import com.badlogic.gdx.graphics.Pixmap;
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
@@ -10,17 +13,19 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Touchpad;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
import com.badlogic.gdx.utils.Align;
|
|
||||||
import com.badlogic.gdx.utils.Scaling;
|
import com.badlogic.gdx.utils.Scaling;
|
||||||
|
import com.badlogic.gdx.utils.Timer;
|
||||||
import com.badlogic.gdx.utils.viewport.ScalingViewport;
|
import com.badlogic.gdx.utils.viewport.ScalingViewport;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.player.AdventurePlayer;
|
import forge.adventure.player.AdventurePlayer;
|
||||||
import forge.adventure.scene.Scene;
|
import forge.adventure.scene.*;
|
||||||
import forge.adventure.scene.SceneType;
|
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
import forge.adventure.util.Controls;
|
import forge.adventure.util.Controls;
|
||||||
import forge.adventure.util.Current;
|
import forge.adventure.util.Current;
|
||||||
@@ -33,17 +38,19 @@ import forge.gui.GuiBase;
|
|||||||
/**
|
/**
|
||||||
* Stage to handle everything rendered in the HUD
|
* Stage to handle everything rendered in the HUD
|
||||||
*/
|
*/
|
||||||
public class GameHUD extends Stage {
|
public class GameHUD extends Stage implements ControllerListener {
|
||||||
|
|
||||||
static public GameHUD instance;
|
static public GameHUD instance;
|
||||||
private final GameStage gameStage;
|
private final GameStage gameStage;
|
||||||
private final Image avatar;
|
private final Image avatar;
|
||||||
private final Image miniMapPlayer;
|
private final Image miniMapPlayer;
|
||||||
private final Label lifePoints;
|
private final TextraLabel lifePoints;
|
||||||
private final Label money;
|
private final TextraLabel money;
|
||||||
private final Label mana;
|
private final TextraLabel mana;
|
||||||
private final Image miniMap, gamehud, mapborder, avatarborder, blank;
|
private final Image miniMap, gamehud, mapborder, avatarborder, blank;
|
||||||
private TextButton deckActor, menuActor, statsActor, inventoryActor;
|
private final InputEvent eventTouchDown;
|
||||||
|
private final InputEvent eventTouchUp;
|
||||||
|
private TextraButton deckActor, menuActor, statsActor, inventoryActor;
|
||||||
private UIActor ui;
|
private UIActor ui;
|
||||||
private Touchpad touchpad;
|
private Touchpad touchpad;
|
||||||
private Console console;
|
private Console console;
|
||||||
@@ -66,19 +73,15 @@ public class GameHUD extends Stage {
|
|||||||
|
|
||||||
avatarborder = ui.findActor("avatarborder");
|
avatarborder = ui.findActor("avatarborder");
|
||||||
deckActor = ui.findActor("deck");
|
deckActor = ui.findActor("deck");
|
||||||
deckActor.getLabel().setText(Forge.getLocalizer().getMessage("lblDeck"));
|
|
||||||
menuActor = ui.findActor("menu");
|
menuActor = ui.findActor("menu");
|
||||||
referenceX = menuActor.getX();
|
referenceX = menuActor.getX();
|
||||||
menuActor.getLabel().setText(Forge.getLocalizer().getMessage("lblMenu"));
|
|
||||||
statsActor = ui.findActor("statistic");
|
statsActor = ui.findActor("statistic");
|
||||||
statsActor.getLabel().setText(Forge.getLocalizer().getMessage("lblStatus"));
|
|
||||||
inventoryActor = ui.findActor("inventory");
|
inventoryActor = ui.findActor("inventory");
|
||||||
inventoryActor.getLabel().setText(Forge.getLocalizer().getMessage("lblItem"));
|
|
||||||
gamehud = ui.findActor("gamehud");
|
gamehud = ui.findActor("gamehud");
|
||||||
|
|
||||||
miniMapPlayer = new Image(new Texture(Config.instance().getFile("ui/minimap_player.png")));
|
miniMapPlayer = new Image(new Texture(Config.instance().getFile("ui/minimap_player.png")));
|
||||||
//create touchpad
|
//create touchpad
|
||||||
touchpad = new Touchpad(10, Controls.GetSkin());
|
touchpad = new Touchpad(10, Controls.getSkin());
|
||||||
touchpad.setBounds(15, 15, TOUCHPAD_SCALE, TOUCHPAD_SCALE);
|
touchpad.setBounds(15, 15, TOUCHPAD_SCALE, TOUCHPAD_SCALE);
|
||||||
touchpad.addListener(new ChangeListener() {
|
touchpad.addListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -257,9 +260,9 @@ public class GameHUD extends Stage {
|
|||||||
avatar.setDrawable(new TextureRegionDrawable(Current.player().avatar()));
|
avatar.setDrawable(new TextureRegionDrawable(Current.player().avatar()));
|
||||||
Deck deck = AdventurePlayer.current().getSelectedDeck();
|
Deck deck = AdventurePlayer.current().getSelectedDeck();
|
||||||
if (deck == null || deck.isEmpty() || deck.getMain().toFlatList().size() < 30) {
|
if (deck == null || deck.isEmpty() || deck.getMain().toFlatList().size() < 30) {
|
||||||
deckActor.getLabel().setColor(Color.RED);
|
deckActor.setColor(Color.RED);
|
||||||
} else {
|
} else {
|
||||||
deckActor.getLabel().setColor(menuActor.getLabel().getColor());
|
deckActor.setColor(menuActor.getColor());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public abstract class GameStage extends Stage {
|
|||||||
return;
|
return;
|
||||||
foregroundSprites.removeActor(player);
|
foregroundSprites.removeActor(player);
|
||||||
player = null;
|
player = null;
|
||||||
GameStage.this.GetPlayer();
|
GameStage.this.getPlayerSprite();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
camera = (OrthographicCamera) getCamera();
|
camera = (OrthographicCamera) getCamera();
|
||||||
|
|||||||
@@ -2,9 +2,10 @@ package forge.adventure.stage;
|
|||||||
|
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.graphics.Texture;
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
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.graphics.g2d.TextureRegion;
|
||||||
import com.badlogic.gdx.maps.MapLayer;
|
import com.badlogic.gdx.maps.MapLayer;
|
||||||
import com.badlogic.gdx.maps.MapObject;
|
import com.badlogic.gdx.maps.MapObject;
|
||||||
@@ -15,17 +16,16 @@ import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
|
|||||||
import com.badlogic.gdx.maps.tiled.objects.TiledMapTileMapObject;
|
import com.badlogic.gdx.maps.tiled.objects.TiledMapTileMapObject;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Stage;
|
import com.badlogic.gdx.scenes.scene2d.Stage;
|
||||||
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
import com.badlogic.gdx.utils.*;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import com.badlogic.gdx.utils.Array;
|
|
||||||
import com.badlogic.gdx.utils.Scaling;
|
|
||||||
import com.github.tommyettinger.textra.TypingAdapter;
|
import com.github.tommyettinger.textra.TypingAdapter;
|
||||||
import com.github.tommyettinger.textra.TypingLabel;
|
import com.github.tommyettinger.textra.TypingLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
@@ -35,7 +35,6 @@ import forge.adventure.pointofintrest.PointOfInterestChanges;
|
|||||||
import forge.adventure.scene.*;
|
import forge.adventure.scene.*;
|
||||||
import forge.adventure.util.*;
|
import forge.adventure.util.*;
|
||||||
import forge.adventure.world.WorldSave;
|
import forge.adventure.world.WorldSave;
|
||||||
import forge.card.ColorSet;
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.DeckProxy;
|
import forge.deck.DeckProxy;
|
||||||
import forge.gui.FThreads;
|
import forge.gui.FThreads;
|
||||||
@@ -43,20 +42,18 @@ import forge.screens.TransitionScreen;
|
|||||||
import forge.sound.SoundEffectType;
|
import forge.sound.SoundEffectType;
|
||||||
import forge.sound.SoundSystem;
|
import forge.sound.SoundSystem;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import static forge.adventure.util.Paths.MANA_ATLAS;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stage to handle tiled maps for points of interests
|
* Stage to handle tiled maps for points of interests
|
||||||
*/
|
*/
|
||||||
public class MapStage extends GameStage {
|
public class MapStage extends GameStage {
|
||||||
public static MapStage instance;
|
public static MapStage instance;
|
||||||
Array<MapActor> actors = new Array<>();
|
final Array<MapActor> actors = new Array<>();
|
||||||
|
|
||||||
TiledMap map;
|
TiledMap map;
|
||||||
Array<Rectangle>[][] collision;
|
Array<Rectangle> collisionRect=new Array<>();
|
||||||
private float tileHeight;
|
private float tileHeight;
|
||||||
private float tileWidth;
|
private float tileWidth;
|
||||||
private float width;
|
private float width;
|
||||||
@@ -70,9 +67,9 @@ public class MapStage extends GameStage {
|
|||||||
private final Vector2 oldPosition3 = new Vector2();
|
private final Vector2 oldPosition3 = new Vector2();
|
||||||
private final Vector2 oldPosition4 = new Vector2();
|
private final Vector2 oldPosition4 = new Vector2();
|
||||||
private boolean isLoadingMatch = false;
|
private boolean isLoadingMatch = false;
|
||||||
private HashMap<String, Byte> mapFlags = new HashMap<>(); //Stores local map flags. These aren't available outside this map.
|
//private HashMap<String, Byte> mapFlags = new HashMap<>(); //Stores local map flags. These aren't available outside this map.
|
||||||
|
|
||||||
private Dialog dialog;
|
private final Dialog dialog;
|
||||||
private Stage dialogStage;
|
private Stage dialogStage;
|
||||||
private boolean dialogOnlyInput;
|
private boolean dialogOnlyInput;
|
||||||
|
|
||||||
@@ -80,10 +77,11 @@ public class MapStage extends GameStage {
|
|||||||
//These maps are defined as embedded properties within the Tiled maps.
|
//These maps are defined as embedded properties within the Tiled maps.
|
||||||
private EffectData effect; //"Dungeon Effect": Character Effect applied to all adversaries within the map.
|
private EffectData effect; //"Dungeon Effect": Character Effect applied to all adversaries within the map.
|
||||||
private boolean preventEscape = false; //Prevents player from escaping the dungeon by any means that aren't an exit.
|
private boolean preventEscape = false; //Prevents player from escaping the dungeon by any means that aren't an exit.
|
||||||
private ObjectMap<Integer, TextButton> dialogButtonMap;
|
private ObjectMap<Integer, TextraButton> dialogButtonMap;
|
||||||
private int selected = 0;
|
private int selected = 0;
|
||||||
public InputEvent eventEnter, eventExit, eventTouchDown, eventTouchUp;
|
public InputEvent eventEnter, eventExit, eventTouchDown, eventTouchUp;
|
||||||
TextButton selectedKey;
|
TextraButton selectedKey;
|
||||||
|
private boolean foundPlayerSpawn=false;
|
||||||
|
|
||||||
|
|
||||||
public boolean getDialogOnlyInput() {
|
public boolean getDialogOnlyInput() {
|
||||||
@@ -157,7 +155,7 @@ public class MapStage extends GameStage {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isColliding(Rectangle adjustedBoundingRect) {
|
public boolean isColliding(Rectangle adjustedBoundingRect) {
|
||||||
for (Rectangle collision : currentCollidingRectangles) {
|
for (Rectangle collision : collisionRect) {
|
||||||
if (collision.overlaps(adjustedBoundingRect)) {
|
if (collision.overlaps(adjustedBoundingRect)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -165,24 +163,10 @@ public class MapStage extends GameStage {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Array<Rectangle> currentCollidingRectangles = new Array<>();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void prepareCollision(Vector2 pos, Vector2 direction, Rectangle boundingRect) {
|
public void prepareCollision(Vector2 pos, Vector2 direction, Rectangle boundingRect) {
|
||||||
currentCollidingRectangles.clear();
|
|
||||||
int x1 = (int) (Math.min(boundingRect.x, boundingRect.x + direction.x) / tileWidth);
|
|
||||||
int y1 = (int) (Math.min(boundingRect.y, boundingRect.y + direction.y) / tileHeight);
|
|
||||||
int x2 = (int) (Math.min(boundingRect.x + boundingRect.width, boundingRect.x + boundingRect.width + direction.x) / tileWidth);
|
|
||||||
int y2 = (int) (Math.min(boundingRect.y + boundingRect.height, boundingRect.y + boundingRect.height + direction.y) / tileHeight);
|
|
||||||
|
|
||||||
for (int x = x1; x <= x2; x++) {
|
|
||||||
for (int y = y1; y <= y2; y++) {
|
|
||||||
if (x < 0 || x >= width || y < 0 || y >= height) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
currentCollidingRectangles.addAll(collision[x][y]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -194,18 +178,14 @@ public class MapStage extends GameStage {
|
|||||||
if (collisionGroup == null) {
|
if (collisionGroup == null) {
|
||||||
collisionGroup = new Group();
|
collisionGroup = new Group();
|
||||||
|
|
||||||
for (int x = 0; x < collision.length; x++) {
|
for (Rectangle rectangle : collisionRect) {
|
||||||
for (int y = 0; y < collision[x].length; y++) {
|
MapActor collisionActor = new MapActor(0);
|
||||||
for (Rectangle rectangle : collision[x][y]) {
|
collisionActor.setBoundDebug(true);
|
||||||
MapActor collisionActor = new MapActor(0);
|
collisionActor.setWidth(rectangle.width);
|
||||||
collisionActor.setBoundDebug(true);
|
collisionActor.setHeight(rectangle.height);
|
||||||
collisionActor.setWidth(rectangle.width);
|
collisionActor.setX(rectangle.x);
|
||||||
collisionActor.setHeight(rectangle.height);
|
collisionActor.setY(rectangle.y);
|
||||||
collisionActor.setX(rectangle.x);
|
collisionGroup.addActor(collisionActor);
|
||||||
collisionActor.setY(rectangle.y);
|
|
||||||
collisionGroup.addActor(collisionActor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -217,12 +197,12 @@ public class MapStage extends GameStage {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void effectDialog(EffectData E) {
|
private void effectDialog(EffectData effectData) {
|
||||||
dialog.getButtonTable().clear();
|
dialog.getButtonTable().clear();
|
||||||
dialog.getContentTable().clear();
|
dialog.getContentTable().clear();
|
||||||
TextButton ok = Controls.newTextButton("OK", this::hideDialog);
|
TextraButton ok = Controls.newTextButton("OK", this::hideDialog);
|
||||||
ok.setVisible(false);
|
ok.setVisible(false);
|
||||||
TypingLabel L = Controls.newTypingLabel("{GRADIENT=CYAN;WHITE;1;1}Strange magical energies flow within this place...{ENDGRADIENT}\nAll opponents get:\n" + E.getDescription());
|
TypingLabel L = Controls.newTypingLabel("{GRADIENT=CYAN;WHITE;1;1}Strange magical energies flow within this place...{ENDGRADIENT}\nAll opponents get:\n" + effectData.getDescription());
|
||||||
L.setWrap(true);
|
L.setWrap(true);
|
||||||
L.setTypingListener(new TypingAdapter() {
|
L.setTypingListener(new TypingAdapter() {
|
||||||
@Override
|
@Override
|
||||||
@@ -247,7 +227,7 @@ public class MapStage extends GameStage {
|
|||||||
dialog.getContentTable().add(image).height(100);
|
dialog.getContentTable().add(image).height(100);
|
||||||
dialog.getContentTable().add().row();
|
dialog.getContentTable().add().row();
|
||||||
}
|
}
|
||||||
Label L = Controls.newLabel(message);
|
TextraLabel L = Controls.newTextraLabel(message);
|
||||||
L.setWrap(true);
|
L.setWrap(true);
|
||||||
dialog.getContentTable().add(L).width(250f);
|
dialog.getContentTable().add(L).width(250f);
|
||||||
dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(250f);
|
dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(250f);
|
||||||
@@ -259,81 +239,14 @@ public class MapStage extends GameStage {
|
|||||||
public void showDeckAwardDialog(String message, Deck deck) {
|
public void showDeckAwardDialog(String message, Deck deck) {
|
||||||
dialog.getContentTable().clear();
|
dialog.getContentTable().clear();
|
||||||
dialog.getButtonTable().clear();
|
dialog.getButtonTable().clear();
|
||||||
if (deck != null) {
|
|
||||||
TextureAtlas atlas = Config.instance().getAtlas(MANA_ATLAS);
|
dialog.getContentTable().add(Controls.newTypingLabel(Controls.colorIdToTypingString(DeckProxy.getColorIdentity(deck)))).align(Align.center);
|
||||||
ColorSet deckColor = DeckProxy.getColorIdentity(deck);
|
dialog.getContentTable().add().row();
|
||||||
if (deckColor.isColorless()) {
|
|
||||||
Image pixC = new Image(atlas.createSprite("pixC"));
|
|
||||||
pixC.setScaling(Scaling.fit);
|
|
||||||
dialog.getContentTable().add(pixC).height(20).width(20);
|
|
||||||
dialog.getContentTable().add().row();
|
|
||||||
} else if (deckColor.isMonoColor()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixC"));
|
|
||||||
if (deckColor.hasWhite())
|
|
||||||
pix = new Image(atlas.createSprite("pixW"));
|
|
||||||
else if (deckColor.hasBlue())
|
|
||||||
pix = new Image(atlas.createSprite("pixU"));
|
|
||||||
else if (deckColor.hasBlack())
|
|
||||||
pix = new Image(atlas.createSprite("pixB"));
|
|
||||||
else if (deckColor.hasRed())
|
|
||||||
pix = new Image(atlas.createSprite("pixR"));
|
|
||||||
else if (deckColor.hasGreen())
|
|
||||||
pix = new Image(atlas.createSprite("pixG"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
dialog.getContentTable().add(pix).height(20).width(20);
|
|
||||||
dialog.getContentTable().add().row();
|
|
||||||
} else if (deckColor.isMulticolor()) {
|
|
||||||
Group group = new Group();
|
|
||||||
int mul = 0;
|
|
||||||
if (deckColor.hasWhite()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixW"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
pix.setSize(20, 20);
|
|
||||||
pix.setPosition(0, 0);
|
|
||||||
group.addActor(pix);
|
|
||||||
mul++;
|
|
||||||
}
|
|
||||||
if (deckColor.hasBlue()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixU"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
pix.setSize(20, 20);
|
|
||||||
pix.setPosition(20 * mul, 0);
|
|
||||||
mul++;
|
|
||||||
group.addActor(pix);
|
|
||||||
}
|
|
||||||
if (deckColor.hasBlack()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixB"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
pix.setSize(20, 20);
|
|
||||||
pix.setPosition(20 * mul, 0);
|
|
||||||
mul++;
|
|
||||||
group.addActor(pix);
|
|
||||||
}
|
|
||||||
if (deckColor.hasRed()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixR"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
pix.setSize(20, 20);
|
|
||||||
pix.setPosition(20 * mul, 0);
|
|
||||||
mul++;
|
|
||||||
group.addActor(pix);
|
|
||||||
}
|
|
||||||
if (deckColor.hasGreen()) {
|
|
||||||
Image pix = new Image(atlas.createSprite("pixG"));
|
|
||||||
pix.setScaling(Scaling.fit);
|
|
||||||
pix.setSize(20, 20);
|
|
||||||
pix.setPosition(20 * mul, 0);
|
|
||||||
mul++;
|
|
||||||
group.addActor(pix);
|
|
||||||
}
|
|
||||||
group.setHeight(20);
|
|
||||||
group.setWidth(20 * mul);
|
|
||||||
dialog.getContentTable().add(group).align(Align.center);
|
|
||||||
dialog.getContentTable().add().row();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TypingLabel L = Controls.newTypingLabel(message);
|
TypingLabel L = Controls.newTypingLabel(message);
|
||||||
L.setWrap(true);
|
L.setWrap(true);
|
||||||
L.skipToTheEnd();
|
L.skipToTheEnd();
|
||||||
|
|
||||||
dialog.getContentTable().add(L).width(240);
|
dialog.getContentTable().add(L).width(240);
|
||||||
dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240);
|
dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240);
|
||||||
dialog.setKeepWithinStage(true);
|
dialog.setKeepWithinStage(true);
|
||||||
@@ -351,13 +264,14 @@ public class MapStage extends GameStage {
|
|||||||
foregroundSprites.removeActor(actor);
|
foregroundSprites.removeActor(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
actors = new Array<>();
|
actors.clear();
|
||||||
|
collisionRect.clear();
|
||||||
width = Float.parseFloat(map.getProperties().get("width").toString());
|
width = Float.parseFloat(map.getProperties().get("width").toString());
|
||||||
height = Float.parseFloat(map.getProperties().get("height").toString());
|
height = Float.parseFloat(map.getProperties().get("height").toString());
|
||||||
tileHeight = Float.parseFloat(map.getProperties().get("tileheight").toString());
|
tileHeight = Float.parseFloat(map.getProperties().get("tileheight").toString());
|
||||||
tileWidth = Float.parseFloat(map.getProperties().get("tilewidth").toString());
|
tileWidth = Float.parseFloat(map.getProperties().get("tilewidth").toString());
|
||||||
setBounds(width * tileWidth, height * tileHeight);
|
setBounds(width * tileWidth, height * tileHeight);
|
||||||
collision = new Array[(int) width][(int) height];
|
//collision = new Array[(int) width][(int) height];
|
||||||
|
|
||||||
//Load dungeon effects.
|
//Load dungeon effects.
|
||||||
MapProperties MP = map.getProperties();
|
MapProperties MP = map.getProperties();
|
||||||
@@ -385,23 +299,57 @@ public class MapStage extends GameStage {
|
|||||||
loadObjects(layer, sourceMap);
|
loadObjects(layer, sourceMap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//reduce geometry in collision rectangles
|
||||||
|
int oldSize;
|
||||||
|
do {
|
||||||
|
oldSize=collisionRect.size;
|
||||||
|
for(int i=0;i<collisionRect.size;i++)
|
||||||
|
{
|
||||||
|
Rectangle r1= collisionRect.get(i);
|
||||||
|
for(int j=i+1;j<collisionRect.size;j++)
|
||||||
|
{
|
||||||
|
Rectangle r2= collisionRect.get(j);
|
||||||
|
if((Math.abs(r1.x-r2.x+r2.width)<1&&Math.abs(r1.y-r2.y)<1&&Math.abs(r1.height-r2.height)<1)//left edge is the same as right edge
|
||||||
|
|
||||||
|
||(Math.abs(r1.x+r1.width-r2.x)<1&&Math.abs(r1.y-r2.y)<1&&Math.abs(r1.height-r2.height)<1)//right edge is the same as left edge
|
||||||
|
|
||||||
|
||(Math.abs(r1.x - r2.x )<1&& Math.abs(r1.y+r1.height-r2.y)<1&&Math.abs(r1.width-r2.width)<1)//top edge is the same as bottom edge
|
||||||
|
|
||||||
|
||(Math.abs(r1.x - r2.x )<1&& Math.abs(r1.y-r2.y+r2.height)<1&&Math.abs(r1.width-r2.width)<1)//bottom edge is the same as left edge
|
||||||
|
|
||||||
|
||containsOrEquals(r1,r2)||containsOrEquals(r2,r1)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
r1.merge(r2);
|
||||||
|
collisionRect.removeIndex(j);
|
||||||
|
i--;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}while (oldSize!=collisionRect.size);
|
||||||
if (spriteLayer == null) System.err.print("Warning: No spriteLayer present in map.\n");
|
if (spriteLayer == null) System.err.print("Warning: No spriteLayer present in map.\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public boolean containsOrEquals(Rectangle r1,Rectangle r2) {
|
||||||
|
float xmi = r2.x;
|
||||||
|
float xma = xmi + r2.width;
|
||||||
|
float ymi = r2.y;
|
||||||
|
float yma = ymi + r2.height;
|
||||||
|
return xmi >= r1.x && xmi <= r1.x + r1.width && xma >= r1.x && xma <= r1.x + r1.width && ymi >= r1.y && ymi <= r1.y + r1.height && yma >= r1.y && yma <= r1.y + r1.height;
|
||||||
|
}
|
||||||
private void loadCollision(TiledMapTileLayer layer) {
|
private void loadCollision(TiledMapTileLayer layer) {
|
||||||
for (int x = 0; x < layer.getWidth(); x++) {
|
for (int x = 0; x < layer.getWidth(); x++) {
|
||||||
for (int y = 0; y < layer.getHeight(); y++) {
|
for (int y = 0; y < layer.getHeight(); y++) {
|
||||||
if (collision[x][y] == null)
|
|
||||||
collision[x][y] = new Array<>();
|
|
||||||
Array<Rectangle> map = collision[x][y];
|
|
||||||
TiledMapTileLayer.Cell cell = layer.getCell(x, y);
|
TiledMapTileLayer.Cell cell = layer.getCell(x, y);
|
||||||
if (cell == null)
|
if (cell == null)
|
||||||
continue;
|
continue;
|
||||||
for (MapObject collision : cell.getTile().getObjects()) {
|
for (MapObject collision : cell.getTile().getObjects()) {
|
||||||
if (collision instanceof RectangleMapObject) {
|
if (collision instanceof RectangleMapObject) {
|
||||||
Rectangle r = ((RectangleMapObject) collision).getRectangle();
|
Rectangle r = ((RectangleMapObject) collision).getRectangle();
|
||||||
map.add(new Rectangle((Math.round(layer.getTileWidth() * x) + r.x), (Math.round(layer.getTileHeight() * y) + r.y), Math.round(r.width), Math.round(r.height)));
|
collisionRect.add(new Rectangle((Math.round(layer.getTileWidth() * x) + r.x), (Math.round(layer.getTileHeight() * y) + r.y), Math.round(r.width), Math.round(r.height)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -409,13 +357,13 @@ public class MapStage extends GameStage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean canSpawn(MapProperties prop) {
|
private boolean canSpawn(MapProperties prop) {
|
||||||
DifficultyData DF = Current.player().getDifficulty();
|
DifficultyData difficultyData = Current.player().getDifficulty();
|
||||||
boolean spawnEasy = prop.get("spawn.Easy", Boolean.class);
|
boolean spawnEasy = prop.get("spawn.Easy", Boolean.class);
|
||||||
boolean spawnNorm = prop.get("spawn.Normal", Boolean.class);
|
boolean spawnNorm = prop.get("spawn.Normal", Boolean.class);
|
||||||
boolean spawnHard = prop.get("spawn.Hard", Boolean.class);
|
boolean spawnHard = prop.get("spawn.Hard", Boolean.class);
|
||||||
if (DF.spawnRank == 2 && !spawnHard) return false;
|
if (difficultyData.spawnRank == 2 && !spawnHard) return false;
|
||||||
if (DF.spawnRank == 1 && !spawnNorm) return false;
|
if (difficultyData.spawnRank == 1 && !spawnNorm) return false;
|
||||||
if (DF.spawnRank == 0 && !spawnEasy) return false;
|
if (difficultyData.spawnRank == 0 && !spawnEasy) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -423,8 +371,8 @@ public class MapStage extends GameStage {
|
|||||||
player.setMoveModifier(2);
|
player.setMoveModifier(2);
|
||||||
for (MapObject obj : layer.getObjects()) {
|
for (MapObject obj : layer.getObjects()) {
|
||||||
MapProperties prop = obj.getProperties();
|
MapProperties prop = obj.getProperties();
|
||||||
if (prop.containsKey("type")) {
|
String type = prop.get("type", String.class);
|
||||||
String type = prop.get("type", String.class);
|
if (type!=null) {
|
||||||
int id = prop.get("id", int.class);
|
int id = prop.get("id", int.class);
|
||||||
if (changes.isObjectDeleted(id))
|
if (changes.isObjectDeleted(id))
|
||||||
continue;
|
continue;
|
||||||
@@ -440,12 +388,12 @@ public class MapStage extends GameStage {
|
|||||||
String targetMap=prop.get("teleport").toString();
|
String targetMap=prop.get("teleport").toString();
|
||||||
boolean spawnPlayerThere=(targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
|
boolean spawnPlayerThere=(targetMap==null||targetMap.isEmpty()&&sourceMap.isEmpty())||//if target is null and "from world"
|
||||||
!sourceMap.isEmpty()&&targetMap.equals(sourceMap);
|
!sourceMap.isEmpty()&&targetMap.equals(sourceMap);
|
||||||
|
|
||||||
if(foundPlayerSpawn)
|
if(foundPlayerSpawn)
|
||||||
spawnPlayerThere=false;
|
spawnPlayerThere=false;
|
||||||
if((prop.containsKey("spawn")&&prop.get("spawn").toString()=="true")&&spawnPlayerThere)
|
if((prop.containsKey("spawn")&& prop.get("spawn").toString().equals("true"))&&spawnPlayerThere)
|
||||||
{
|
{
|
||||||
foundPlayerSpawn=true;
|
foundPlayerSpawn=true;
|
||||||
spawnPlayerThere=true;
|
|
||||||
}//set spawn to option with "spawn" over other entries
|
}//set spawn to option with "spawn" over other entries
|
||||||
EntryActor entry = new EntryActor(this, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString(),spawnPlayerThere);
|
EntryActor entry = new EntryActor(this, id, prop.get("teleport").toString(), x, y, w, h, prop.get("direction").toString(),spawnPlayerThere);
|
||||||
addMapActor(obj, entry);
|
addMapActor(obj, entry);
|
||||||
@@ -467,33 +415,33 @@ public class MapStage extends GameStage {
|
|||||||
break;
|
break;
|
||||||
case "enemy":
|
case "enemy":
|
||||||
if (!canSpawn(prop)) break;
|
if (!canSpawn(prop)) break;
|
||||||
Object E = prop.get("enemy");
|
Object enemy = prop.get("enemy");
|
||||||
if (E != null && !E.toString().isEmpty()) {
|
if (enemy != null && !enemy.toString().isEmpty()) {
|
||||||
EnemyData EN = WorldData.getEnemy(E.toString());
|
EnemyData EN = WorldData.getEnemy(enemy.toString());
|
||||||
if (EN == null) {
|
if (EN == null) {
|
||||||
System.err.printf("Enemy \"%s\" not found.", E.toString());
|
System.err.printf("Enemy \"%s\" not found.", enemy);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
EnemySprite mob = new EnemySprite(id, EN);
|
EnemySprite mob = new EnemySprite(id, EN);
|
||||||
Object D = prop.get("dialog"); //Check if the enemy has a dialogue attached to it.
|
Object dialogObject = prop.get("dialog"); //Check if the enemy has a dialogue attached to it.
|
||||||
if (D != null && !D.toString().isEmpty()) {
|
if (dialogObject != null && !dialogObject.toString().isEmpty()) {
|
||||||
mob.dialog = new MapDialog(D.toString(), this, mob.getId());
|
mob.dialog = new MapDialog(dialogObject.toString(), this, mob.getId());
|
||||||
}
|
}
|
||||||
D = prop.get("defeatDialog"); //Check if the enemy has a defeat dialogue attached to it.
|
dialogObject = prop.get("defeatDialog"); //Check if the enemy has a defeat dialogue attached to it.
|
||||||
if (D != null && !D.toString().isEmpty()) {
|
if (dialogObject != null && !dialogObject.toString().isEmpty()) {
|
||||||
mob.defeatDialog = new MapDialog(D.toString(), this, mob.getId());
|
mob.defeatDialog = new MapDialog(dialogObject.toString(), this, mob.getId());
|
||||||
}
|
}
|
||||||
D = prop.get("name"); //Check for name override.
|
dialogObject = prop.get("name"); //Check for name override.
|
||||||
if (D != null && !D.toString().isEmpty()) {
|
if (dialogObject != null && !dialogObject.toString().isEmpty()) {
|
||||||
mob.nameOverride = D.toString();
|
mob.nameOverride = dialogObject.toString();
|
||||||
}
|
}
|
||||||
D = prop.get("effect"); //Check for special effects.
|
dialogObject = prop.get("effect"); //Check for special effects.
|
||||||
if (D != null && !D.toString().isEmpty()) {
|
if (dialogObject != null && !dialogObject.toString().isEmpty()) {
|
||||||
mob.effect = JSONStringLoader.parse(EffectData.class, D.toString(), "");
|
mob.effect = JSONStringLoader.parse(EffectData.class, dialogObject.toString(), "");
|
||||||
}
|
}
|
||||||
D = prop.get("reward"); //Check for additional rewards.
|
dialogObject = prop.get("reward"); //Check for additional rewards.
|
||||||
if (D != null && !D.toString().isEmpty()) {
|
if (dialogObject != null && !dialogObject.toString().isEmpty()) {
|
||||||
mob.rewards = JSONStringLoader.parse(RewardData[].class, D.toString(), "[]");
|
mob.rewards = JSONStringLoader.parse(RewardData[].class, dialogObject.toString(), "[]");
|
||||||
}
|
}
|
||||||
mob.hidden = hidden; //Evil.
|
mob.hidden = hidden; //Evil.
|
||||||
addMapActor(obj, mob);
|
addMapActor(obj, mob);
|
||||||
@@ -521,7 +469,7 @@ public class MapStage extends GameStage {
|
|||||||
}));
|
}));
|
||||||
break;
|
break;
|
||||||
case "exit":
|
case "exit":
|
||||||
addMapActor(obj, new OnCollide(() -> MapStage.this.exit()));
|
addMapActor(obj, new OnCollide(MapStage.this::exit));
|
||||||
break;
|
break;
|
||||||
case "dialog":
|
case "dialog":
|
||||||
if (obj instanceof TiledMapTileMapObject) {
|
if (obj instanceof TiledMapTileMapObject) {
|
||||||
@@ -593,7 +541,7 @@ public class MapStage extends GameStage {
|
|||||||
Current.player().win();
|
Current.player().win();
|
||||||
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
|
player.setAnimation(CharacterSprite.AnimationTypes.Attack);
|
||||||
currentMob.setAnimation(CharacterSprite.AnimationTypes.Death);
|
currentMob.setAnimation(CharacterSprite.AnimationTypes.Death);
|
||||||
startPause(0.3f, () -> MapStage.this.getReward());
|
startPause(0.3f, MapStage.this::getReward);
|
||||||
} else {
|
} else {
|
||||||
player.setAnimation(CharacterSprite.AnimationTypes.Hit);
|
player.setAnimation(CharacterSprite.AnimationTypes.Hit);
|
||||||
currentMob.setAnimation(CharacterSprite.AnimationTypes.Attack);
|
currentMob.setAnimation(CharacterSprite.AnimationTypes.Attack);
|
||||||
@@ -747,7 +695,7 @@ public class MapStage extends GameStage {
|
|||||||
else
|
else
|
||||||
dialogButtonMap.clear();
|
dialogButtonMap.clear();
|
||||||
for (int i = 0; i < dialog.getButtonTable().getCells().size; i++) {
|
for (int i = 0; i < dialog.getButtonTable().getCells().size; i++) {
|
||||||
dialogButtonMap.put(i, (TextButton) dialog.getButtonTable().getCells().get(i).getActor());
|
dialogButtonMap.put(i, (TextraButton) dialog.getButtonTable().getCells().get(i).getActor());
|
||||||
}
|
}
|
||||||
dialog.show(dialogStage, Actions.show());
|
dialog.show(dialogStage, Actions.show());
|
||||||
dialog.setPosition((dialogStage.getWidth() - dialog.getWidth()) / 2, (dialogStage.getHeight() - dialog.getHeight()) / 2);
|
dialog.setPosition((dialogStage.getWidth() - dialog.getWidth()) / 2, (dialogStage.getHeight() - dialog.getHeight()) / 2);
|
||||||
@@ -812,7 +760,7 @@ public class MapStage extends GameStage {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectDialogButton(TextButton dialogButton, boolean press) {
|
private void selectDialogButton(TextraButton dialogButton, boolean press) {
|
||||||
if (dialogOnlyInput) {
|
if (dialogOnlyInput) {
|
||||||
if (selectedKey != null)
|
if (selectedKey != null)
|
||||||
selectedKey.fire(eventExit);
|
selectedKey.fire(eventExit);
|
||||||
@@ -836,7 +784,7 @@ public class MapStage extends GameStage {
|
|||||||
}
|
}
|
||||||
}, 0.10f);
|
}, 0.10f);
|
||||||
}
|
}
|
||||||
private int getButtonIndexKey(TextButton dialogbutton) {
|
private int getButtonIndexKey(TextraButton dialogbutton) {
|
||||||
if (dialogButtonMap.isEmpty())
|
if (dialogButtonMap.isEmpty())
|
||||||
return 0;
|
return 0;
|
||||||
Integer key = dialogButtonMap.findKey(dialogbutton, true);
|
Integer key = dialogButtonMap.findKey(dialogbutton, true);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package forge.adventure.stage;
|
|||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.controllers.Controllers;
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
|
import com.badlogic.gdx.math.GridPoint2;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
@@ -29,7 +30,10 @@ import forge.sound.SoundSystem;
|
|||||||
import forge.util.MyRandom;
|
import forge.util.MyRandom;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -145,7 +149,7 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
|||||||
}
|
}
|
||||||
private void removeEnemy(EnemySprite currentMob) {
|
private void removeEnemy(EnemySprite currentMob) {
|
||||||
|
|
||||||
foregroundSprites.removeActor(currentMob);
|
currentMob.removeAfterEffects();
|
||||||
Iterator<Pair<Float, EnemySprite>> it = enemies.iterator();
|
Iterator<Pair<Float, EnemySprite>> it = enemies.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
Pair<Float, EnemySprite> pair = it.next();
|
Pair<Float, EnemySprite> pair = it.next();
|
||||||
@@ -378,7 +382,7 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
|||||||
EnemySprite enemy=null;
|
EnemySprite enemy=null;
|
||||||
for (Pair<Float, EnemySprite> pair : enemies) {
|
for (Pair<Float, EnemySprite> pair : enemies) {
|
||||||
float dist= pair.getValue().pos().sub(player.pos()).len();
|
float dist= pair.getValue().pos().sub(player.pos()).len();
|
||||||
if(shortestDist<dist)
|
if(dist<shortestDist)
|
||||||
{
|
{
|
||||||
shortestDist=dist;
|
shortestDist=dist;
|
||||||
enemy=pair.getValue();
|
enemy=pair.getValue();
|
||||||
@@ -386,8 +390,9 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
|||||||
}
|
}
|
||||||
if(enemy!=null)
|
if(enemy!=null)
|
||||||
{
|
{
|
||||||
|
enemy.playEffect(Paths.EFFECT_KILL);
|
||||||
removeEnemy(enemy);
|
removeEnemy(enemy);
|
||||||
player.playEffect(Paths.EFFECT_KILL);
|
player.playEffect(Paths.TRIGGER_KILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package forge.adventure.util;
|
package forge.adventure.util;
|
||||||
|
|
||||||
import com.badlogic.gdx.files.FileHandle;
|
import com.badlogic.gdx.files.FileHandle;
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
@@ -11,8 +12,13 @@ import com.badlogic.gdx.scenes.scene2d.ui.*;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.badlogic.gdx.utils.Null;
|
||||||
|
import com.github.tommyettinger.textra.Font;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import com.github.tommyettinger.textra.TypingLabel;
|
import com.github.tommyettinger.textra.TypingLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
|
import forge.card.ColorSet;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
@@ -20,8 +26,48 @@ import java.util.function.Function;
|
|||||||
* Class to create ui elements in the correct style
|
* Class to create ui elements in the correct style
|
||||||
*/
|
*/
|
||||||
public class Controls {
|
public class Controls {
|
||||||
static public TextButton newTextButton(String text) {
|
static class LabelFix extends TextraLabel
|
||||||
return new TextButton(text, GetSkin());
|
{
|
||||||
|
public LabelFix(String text)
|
||||||
|
{
|
||||||
|
super(text, getSkin(),getTextraFont());
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setText(@Null String text) {
|
||||||
|
this.storedText = text;
|
||||||
|
this.layout.setTargetWidth(this.getMaxWidth());
|
||||||
|
this.getFont().markup(text, this.layout.clear());
|
||||||
|
this.setWidth(this.layout.getWidth() + (this.style != null && this.style.background != null ? this.style.background.getLeftWidth() + this.style.background.getRightWidth() : 0.0F));
|
||||||
|
layout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static class TextButtonFix extends TextraButton
|
||||||
|
{
|
||||||
|
public TextButtonFix(@Null String text)
|
||||||
|
{
|
||||||
|
super(text, Controls.getSkin(),Controls.getTextraFont()) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setStyle(Button.ButtonStyle style, boolean makeGridGlyphs) {
|
||||||
|
super.setStyle(style,makeGridGlyphs);
|
||||||
|
this.getTextraLabel().setFont( Controls.getTextraFont());
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void setText(@Null String text) {
|
||||||
|
getTextraLabel().storedText = text;
|
||||||
|
getTextraLabel().layout.setTargetWidth(getTextraLabel().getMaxWidth());
|
||||||
|
getTextraLabel().getFont().markup(text, getTextraLabel().layout.clear());
|
||||||
|
getTextraLabel().setWidth(getTextraLabel().layout.getWidth() + (getTextraLabel().style != null && getTextraLabel().style.background != null ? getTextraLabel().style.background.getLeftWidth() + getTextraLabel().style.background.getRightWidth() : 0.0F));
|
||||||
|
layout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static public TextraButton newTextButton(String text) {
|
||||||
|
TextraButton button= new TextButtonFix(text);
|
||||||
|
// button.getTextraLabelCell().fill(true,false).expand(true,false);//keep it the same as TextButton
|
||||||
|
button.getTextraLabel().setWrap(false);
|
||||||
|
return button;
|
||||||
}
|
}
|
||||||
static public Rectangle getBoundingRect(Actor actor) {
|
static public Rectangle getBoundingRect(Actor actor) {
|
||||||
return new Rectangle(actor.getX(),actor.getY(),actor.getWidth(),actor.getHeight());
|
return new Rectangle(actor.getX(),actor.getY(),actor.getWidth(),actor.getHeight());
|
||||||
@@ -33,7 +79,7 @@ public class Controls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static public SelectBox newComboBox(String[] text, String item, Function<Object, Void> func) {
|
static public SelectBox newComboBox(String[] text, String item, Function<Object, Void> func) {
|
||||||
SelectBox ret = new SelectBox<String>(GetSkin());
|
SelectBox ret = new SelectBox<String>(getSkin());
|
||||||
ret.getStyle().listStyle.selection.setTopHeight(4);
|
ret.getStyle().listStyle.selection.setTopHeight(4);
|
||||||
ret.setItems(text);
|
ret.setItems(text);
|
||||||
ret.addListener(new ChangeListener() {
|
ret.addListener(new ChangeListener() {
|
||||||
@@ -54,7 +100,7 @@ public class Controls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static public SelectBox newComboBox(Float[] text, float item, Function<Object, Void> func) {
|
static public SelectBox newComboBox(Float[] text, float item, Function<Object, Void> func) {
|
||||||
SelectBox ret = new SelectBox<Float>(GetSkin());
|
SelectBox ret = new SelectBox<Float>(getSkin());
|
||||||
ret.getStyle().listStyle.selection.setTopHeight(4);
|
ret.getStyle().listStyle.selection.setTopHeight(4);
|
||||||
ret.setItems(text);
|
ret.setItems(text);
|
||||||
ret.addListener(new ChangeListener() {
|
ret.addListener(new ChangeListener() {
|
||||||
@@ -75,11 +121,11 @@ public class Controls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static public TextField newTextField(String text) {
|
static public TextField newTextField(String text) {
|
||||||
return new TextField(text, GetSkin());
|
return new TextField(text, getSkin());
|
||||||
}
|
}
|
||||||
|
|
||||||
static public TextField newTextField(String text, Function<String, Void> func) {
|
static public TextField newTextField(String text, Function<String, Void> func) {
|
||||||
TextField ret = new TextField(text, GetSkin());
|
TextField ret = new TextField(text, getSkin());
|
||||||
ret.addListener(new ChangeListener() {
|
ret.addListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ChangeEvent event, Actor actor) {
|
public void changed(ChangeEvent event, Actor actor) {
|
||||||
@@ -94,8 +140,8 @@ public class Controls {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static public TextButton newTextButton(String text, Runnable func) {
|
static public TextraButton newTextButton(String text, Runnable func) {
|
||||||
TextButton ret = newTextButton(text);
|
TextraButton ret = newTextButton(text);
|
||||||
ret.addListener(new ClickListener() {
|
ret.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
@@ -111,12 +157,12 @@ public class Controls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static public Slider newSlider(float min, float max, float step, boolean vertical) {
|
static public Slider newSlider(float min, float max, float step, boolean vertical) {
|
||||||
Slider ret = new Slider(min, max, step, vertical, GetSkin());
|
Slider ret = new Slider(min, max, step, vertical, getSkin());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static public CheckBox newCheckBox(String text) {
|
static public CheckBox newCheckBox(String text) {
|
||||||
CheckBox ret = new CheckBox(text, GetSkin());
|
CheckBox ret = new CheckBox(text, getSkin());
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,15 +170,15 @@ public class Controls {
|
|||||||
switch (fontName) {
|
switch (fontName) {
|
||||||
case "blackbig":
|
case "blackbig":
|
||||||
case "big":
|
case "big":
|
||||||
GetSkin().getFont("default").getData().setScale(2, 2);
|
getSkin().getFont("default").getData().setScale(2, 2);
|
||||||
return GetSkin().getFont("default");
|
return getSkin().getFont("default");
|
||||||
default:
|
default:
|
||||||
GetSkin().getFont("default").getData().setScale(1, 1);
|
getSkin().getFont("default").getData().setScale(1, 1);
|
||||||
return GetSkin().getFont("default");
|
return getSkin().getFont("default");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static public Skin GetSkin() {
|
static public Skin getSkin() {
|
||||||
FileHandle skinFile = Config.instance().getFile(Paths.SKIN);
|
FileHandle skinFile = Config.instance().getFile(Paths.SKIN);
|
||||||
if (!Forge.getAssets().manager().contains(skinFile.path(), Skin.class)) {
|
if (!Forge.getAssets().manager().contains(skinFile.path(), Skin.class)) {
|
||||||
Forge.getAssets().manager().load(skinFile.path(), Skin.class);
|
Forge.getAssets().manager().load(skinFile.path(), Skin.class);
|
||||||
@@ -140,32 +186,151 @@ public class Controls {
|
|||||||
FileHandle atlasFile = skinFile.sibling(skinFile.nameWithoutExtension() + ".atlas");
|
FileHandle atlasFile = skinFile.sibling(skinFile.nameWithoutExtension() + ".atlas");
|
||||||
Forge.getAssets().manager().load(atlasFile.path(), TextureAtlas.class);
|
Forge.getAssets().manager().load(atlasFile.path(), TextureAtlas.class);
|
||||||
Forge.getAssets().manager().finishLoadingAsset(atlasFile.path());
|
Forge.getAssets().manager().finishLoadingAsset(atlasFile.path());
|
||||||
//font
|
/*/font skin will load the LanaPixel.fnt now
|
||||||
FileHandle pixelFont = Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt");
|
FileHandle pixelFont = Config.instance().getFile(Paths.SKIN).sibling("LanaPixel.fnt");
|
||||||
Forge.getAssets().manager().load(pixelFont.path(), BitmapFont.class);
|
Forge.getAssets().manager().load(pixelFont.path(), BitmapFont.class);
|
||||||
Forge.getAssets().manager().finishLoadingAsset(pixelFont.path());
|
Forge.getAssets().manager().finishLoadingAsset(pixelFont.path());
|
||||||
Forge.getAssets().manager().get(skinFile.path(), Skin.class).add("default", Forge.getAssets().manager().get(pixelFont.path(), BitmapFont.class), BitmapFont.class);
|
Forge.getAssets().manager().get(skinFile.path(), Skin.class).add("default", Forge.getAssets().manager().get(pixelFont.path(), BitmapFont.class), BitmapFont.class);
|
||||||
Forge.getAssets().manager().get(skinFile.path(), Skin.class).addRegions(Forge.getAssets().manager().get(atlasFile.path(), TextureAtlas.class));
|
Forge.getAssets().manager().get(skinFile.path(), Skin.class).addRegions(Forge.getAssets().manager().get(atlasFile.path(), TextureAtlas.class));
|
||||||
Forge.getAssets().manager().finishLoadingAsset(skinFile.path());
|
Forge.getAssets().manager().finishLoadingAsset(skinFile.path());
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
return Forge.getAssets().manager().get(skinFile.path(), Skin.class);
|
return Forge.getAssets().manager().get(skinFile.path(), Skin.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Label newLabel(String name) {
|
public static Label newLabel(String name) {
|
||||||
Label ret = new Label(name, GetSkin());
|
Label ret = new Label(name, getSkin());
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
static public Color colorFromString(String name)
|
||||||
|
{
|
||||||
|
String upperCase=name.toUpperCase();
|
||||||
|
if(upperCase.startsWith("0X")||upperCase.startsWith("#"))
|
||||||
|
{
|
||||||
|
return new Color( Long.decode(upperCase).intValue());
|
||||||
|
}
|
||||||
|
if(upperCase.equals("WHITE"))
|
||||||
|
return Color.WHITE;
|
||||||
|
if(upperCase.equals("LIGHT_GRAY"))
|
||||||
|
return Color.LIGHT_GRAY;
|
||||||
|
if(upperCase.equals("GRAY"))
|
||||||
|
return Color.GRAY;
|
||||||
|
if(upperCase.equals("DARK_GRAY"))
|
||||||
|
return Color.DARK_GRAY;
|
||||||
|
if(upperCase.equals("BLACK"))
|
||||||
|
return Color.BLACK;
|
||||||
|
if(upperCase.equals("CLEAR"))
|
||||||
|
return Color.CLEAR;
|
||||||
|
if(upperCase.equals("BLUE"))
|
||||||
|
return Color.BLUE;
|
||||||
|
if(upperCase.equals("NAVY"))
|
||||||
|
return Color.NAVY;
|
||||||
|
if(upperCase.equals("ROYAL"))
|
||||||
|
return Color.ROYAL;
|
||||||
|
if(upperCase.equals("SLATE"))
|
||||||
|
return Color.SLATE;
|
||||||
|
if(upperCase.equals("SKY"))
|
||||||
|
return Color.SKY;
|
||||||
|
if(upperCase.equals("CYAN"))
|
||||||
|
return Color.CYAN;
|
||||||
|
if(upperCase.equals("TEAL"))
|
||||||
|
return Color.TEAL;
|
||||||
|
if(upperCase.equals("GREEN"))
|
||||||
|
return Color.GREEN;
|
||||||
|
if(upperCase.equals("CHARTREUSE"))
|
||||||
|
return Color.CHARTREUSE;
|
||||||
|
if(upperCase.equals("LIME"))
|
||||||
|
return Color.LIME;
|
||||||
|
if(upperCase.equals("FOREST"))
|
||||||
|
return Color.FOREST;
|
||||||
|
if(upperCase.equals("OLIVE"))
|
||||||
|
return Color.OLIVE;
|
||||||
|
if(upperCase.equals("YELLOW"))
|
||||||
|
return Color.YELLOW;
|
||||||
|
if(upperCase.equals("GOLD"))
|
||||||
|
return Color.GOLD;
|
||||||
|
if(upperCase.equals("GOLDENROD"))
|
||||||
|
return Color.GOLDENROD;
|
||||||
|
if(upperCase.equals("ORANGE"))
|
||||||
|
return Color.ORANGE;
|
||||||
|
if(upperCase.equals("TAN"))
|
||||||
|
return Color.TAN;
|
||||||
|
if(upperCase.equals("FIREBRICK"))
|
||||||
|
return Color.FIREBRICK;
|
||||||
|
if(upperCase.equals("RED"))
|
||||||
|
return Color.RED;
|
||||||
|
if(upperCase.equals("SCARLET"))
|
||||||
|
return Color.SCARLET;
|
||||||
|
if(upperCase.equals("CORAL"))
|
||||||
|
return Color.CORAL;
|
||||||
|
if(upperCase.equals("SALMON"))
|
||||||
|
return Color.SALMON;
|
||||||
|
if(upperCase.equals("PINK"))
|
||||||
|
return Color.PINK;
|
||||||
|
if(upperCase.equals("MAGENTA"))
|
||||||
|
return Color.MAGENTA;
|
||||||
|
if(upperCase.equals("PURPLE"))
|
||||||
|
return Color.PURPLE;
|
||||||
|
if(upperCase.equals("VIOLET"))
|
||||||
|
return Color.VIOLET;
|
||||||
|
if(upperCase.equals("PINK"))
|
||||||
|
return Color.MAROON;
|
||||||
|
return Color.BLACK;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TextraLabel newTextraLabel(String name) {
|
||||||
|
TextraLabel ret = new LabelFix(name);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String colorIdToTypingString(ColorSet color)
|
||||||
|
{
|
||||||
|
String coloerId="";
|
||||||
|
if(color.hasWhite())
|
||||||
|
coloerId+="[+w]";
|
||||||
|
if(color.hasBlue())
|
||||||
|
coloerId+="[+u]";
|
||||||
|
if(color.hasBlack())
|
||||||
|
coloerId+="[+b]";
|
||||||
|
if(color.hasRed())
|
||||||
|
coloerId+="[+r]";
|
||||||
|
if(color.hasGreen())
|
||||||
|
coloerId+="[+g]";
|
||||||
|
if(color.isColorless())
|
||||||
|
coloerId+="[+c]";
|
||||||
|
return coloerId;
|
||||||
|
}
|
||||||
public static TypingLabel newTypingLabel(String name) {
|
public static TypingLabel newTypingLabel(String name) {
|
||||||
TypingLabel ret = new TypingLabel(name, GetSkin());
|
TypingLabel ret = new TypingLabel(name==null?"":name, getSkin(),getTextraFont());
|
||||||
|
ret.setVariable("player_name",Current.player().getName());
|
||||||
|
ret.setVariable("player_color_id",colorIdToTypingString(Current.player().getColorIdentity()));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Dialog newDialog(String title) {
|
public static Dialog newDialog(String title) {
|
||||||
Dialog ret = new Dialog(title, GetSkin());
|
Dialog ret = new Dialog(title, getSkin());
|
||||||
ret.setMovable(false);
|
ret.setMovable(false);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Font textraFont=null;
|
||||||
|
static public Font getTextraFont()
|
||||||
|
{
|
||||||
|
if(textraFont==null)
|
||||||
|
{
|
||||||
|
textraFont=new Font(getSkin().getFont("default"));
|
||||||
|
textraFont.addAtlas(Config.instance().getAtlas(Paths.ITEMS_ATLAS));
|
||||||
|
textraFont.adjustLineHeight(0.8f);//not sure why this is needed maybe the font is bad
|
||||||
|
}
|
||||||
|
return textraFont;
|
||||||
|
}
|
||||||
|
static public Font getTextraFont(String name)
|
||||||
|
{
|
||||||
|
Font font=new Font(getSkin().getFont(name));
|
||||||
|
font.addAtlas(Config.instance().getAtlas(Paths.ITEMS_ATLAS));
|
||||||
|
return font;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package forge.adventure.util;
|
package forge.adventure.util;
|
||||||
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TypingLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.character.EnemySprite;
|
import forge.adventure.character.EnemySprite;
|
||||||
import forge.adventure.data.DialogData;
|
import forge.adventure.data.DialogData;
|
||||||
@@ -54,7 +54,7 @@ public class MapDialog {
|
|||||||
String text; //Check for localized string (locname), otherwise print text.
|
String text; //Check for localized string (locname), otherwise print text.
|
||||||
if(dialog.loctext != null && !dialog.loctext.isEmpty()) text = L.getMessage(dialog.loctext);
|
if(dialog.loctext != null && !dialog.loctext.isEmpty()) text = L.getMessage(dialog.loctext);
|
||||||
else text = dialog.text;
|
else text = dialog.text;
|
||||||
Label A = Controls.newLabel(text);
|
TypingLabel A = Controls.newTypingLabel(text);
|
||||||
A.setWrap(true);
|
A.setWrap(true);
|
||||||
D.getContentTable().add(A).width(WIDTH); //Add() returns a Cell, which is what the width is being applied to.
|
D.getContentTable().add(A).width(WIDTH); //Add() returns a Cell, which is what the width is being applied to.
|
||||||
if(dialog.options != null) {
|
if(dialog.options != null) {
|
||||||
@@ -63,8 +63,8 @@ public class MapDialog {
|
|||||||
String name; //Get localized label if present.
|
String name; //Get localized label if present.
|
||||||
if(option.locname != null && !option.locname.isEmpty()) name = L.getMessage(option.locname);
|
if(option.locname != null && !option.locname.isEmpty()) name = L.getMessage(option.locname);
|
||||||
else name = option.name;
|
else name = option.name;
|
||||||
TextButton B = Controls.newTextButton(name,() -> loadDialog(option));
|
TextraButton B = Controls.newTextButton(name,() -> loadDialog(option));
|
||||||
B.getLabel().setWrap(true); //We want this to wrap in case it's a wordy choice.
|
B.getTextraLabel().setWrap(true); //We want this to wrap in case it's a wordy choice.
|
||||||
D.getButtonTable().add(B).width(WIDTH - 10); //The button table also returns a Cell when adding.
|
D.getButtonTable().add(B).width(WIDTH - 10); //The button table also returns a Cell when adding.
|
||||||
//TODO: Reducing the space a tiny bit could help. But should be fine as long as there aren't more than 4-5 options.
|
//TODO: Reducing the space a tiny bit could help. But should be fine as long as there aren't more than 4-5 options.
|
||||||
D.getButtonTable().row(); //Add a row. Tried to allow a few per row but it was a bit erratic.
|
D.getButtonTable().row(); //Add a row. Tried to allow a few per row but it was a bit erratic.
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ public class Paths {
|
|||||||
public static final String SKIN_FONT = "skin/LanaPixel.ttf";
|
public static final String SKIN_FONT = "skin/LanaPixel.ttf";
|
||||||
public static final String ITEMS_EQUIP = "skin/equip.png";
|
public static final String ITEMS_EQUIP = "skin/equip.png";
|
||||||
public static final String ITEMS_ATLAS = "sprites/items.atlas";
|
public static final String ITEMS_ATLAS = "sprites/items.atlas";
|
||||||
public static final String MANA_ATLAS = "sprites/pixelmana.atlas";
|
|
||||||
public static final String COLOR_FRAME_ATLAS = "ui/color_frames.atlas";
|
public static final String COLOR_FRAME_ATLAS = "ui/color_frames.atlas";
|
||||||
public static final String ARENA_ATLAS = "ui/arena.atlas";
|
public static final String ARENA_ATLAS = "ui/arena.atlas";
|
||||||
public static final String MAP_MARKER = "sprites/map_marker.atlas";
|
public static final String MAP_MARKER = "sprites/map_marker.atlas";
|
||||||
|
|
||||||
|
|
||||||
public static final String EFFECT_HEAL = "particle_effects/heal.p";
|
public static final String EFFECT_HEAL = "particle_effects/heal.p";
|
||||||
public static final String EFFECT_KILL = "particle_effects/kill.p";
|
public static final String EFFECT_KILL = "particle_effects/killed.p";
|
||||||
|
public static final String TRIGGER_KILL = "particle_effects/kill.p";
|
||||||
public static final String EFFECT_HIDE = "particle_effects/hide.p";
|
public static final String EFFECT_HIDE = "particle_effects/hide.p";
|
||||||
public static final String EFFECT_SPRINT = "particle_effects/sprint.p";
|
public static final String EFFECT_SPRINT = "particle_effects/sprint.p";
|
||||||
public static final String EFFECT_FLY = "particle_effects/fly.p";
|
public static final String EFFECT_FLY = "particle_effects/fly.p";
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Tooltip;
|
import com.badlogic.gdx.scenes.scene2d.ui.Tooltip;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
import com.badlogic.gdx.utils.Align;
|
import com.badlogic.gdx.utils.Align;
|
||||||
import com.badlogic.gdx.utils.Disposable;
|
import com.badlogic.gdx.utils.Disposable;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.Graphics;
|
import forge.Graphics;
|
||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
@@ -680,7 +680,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
Image tooltip_image;
|
Image tooltip_image;
|
||||||
Table tooltip_actor;
|
Table tooltip_actor;
|
||||||
float height;
|
float height;
|
||||||
TextButton switchButton;
|
TextraButton switchButton;
|
||||||
//Vector2 tmp = new Vector2();
|
//Vector2 tmp = new Vector2();
|
||||||
|
|
||||||
public HoldTooltip(Image tooltip_image) {
|
public HoldTooltip(Image tooltip_image) {
|
||||||
@@ -704,7 +704,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean longPress(Actor actor, float x, float y) {
|
public boolean longPress(Actor actor, float x, float y) {
|
||||||
TextButton done = actor.getStage().getRoot().findActor("done");
|
TextraButton done = actor.getStage().getRoot().findActor("done");
|
||||||
if (done != null && Reward.Type.Card.equals(reward.type)) {
|
if (done != null && Reward.Type.Card.equals(reward.type)) {
|
||||||
switchButton.setBounds(done.getX(), done.getY(), done.getWidth(), done.getHeight());
|
switchButton.setBounds(done.getX(), done.getY(), done.getWidth(), done.getHeight());
|
||||||
if (reward.getCard().hasBackFace())
|
if (reward.getCard().hasBackFace())
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ package forge.adventure.util;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import com.badlogic.gdx.utils.Pools;
|
import com.badlogic.gdx.utils.Pools;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* UI element to click through options, can be configured in an UiActor
|
* UI element to click through options, can be configured in an UiActor
|
||||||
@@ -15,19 +15,19 @@ import com.badlogic.gdx.utils.Pools;
|
|||||||
public class Selector extends Group {
|
public class Selector extends Group {
|
||||||
private final ImageButton leftArrow;
|
private final ImageButton leftArrow;
|
||||||
private final ImageButton rightArrow;
|
private final ImageButton rightArrow;
|
||||||
private final TextButton label;
|
private final TextraButton label;
|
||||||
private int currentIndex = 0;
|
private int currentIndex = 0;
|
||||||
private Array<String> textList;
|
private Array<String> textList;
|
||||||
|
|
||||||
|
|
||||||
public Selector() {
|
public Selector() {
|
||||||
ImageButton.ImageButtonStyle leftArrowStyle = Controls.GetSkin().get("leftarrow", ImageButton.ImageButtonStyle.class);
|
ImageButton.ImageButtonStyle leftArrowStyle = Controls.getSkin().get("leftarrow", ImageButton.ImageButtonStyle.class);
|
||||||
leftArrow = new ImageButton(leftArrowStyle);
|
leftArrow = new ImageButton(leftArrowStyle);
|
||||||
|
|
||||||
ImageButton.ImageButtonStyle rightArrowStyle = Controls.GetSkin().get("rightarrow", ImageButton.ImageButtonStyle.class);
|
ImageButton.ImageButtonStyle rightArrowStyle = Controls.getSkin().get("rightarrow", ImageButton.ImageButtonStyle.class);
|
||||||
rightArrow = new ImageButton(rightArrowStyle);
|
rightArrow = new ImageButton(rightArrowStyle);
|
||||||
|
|
||||||
label = new TextButton("", Controls.GetSkin());
|
label = Controls.newTextButton("");
|
||||||
addActor(leftArrow);
|
addActor(leftArrow);
|
||||||
addActor(rightArrow);
|
addActor(rightArrow);
|
||||||
addActor(label);
|
addActor(label);
|
||||||
@@ -80,10 +80,12 @@ public class Selector extends Group {
|
|||||||
int oldIndex = currentIndex;
|
int oldIndex = currentIndex;
|
||||||
this.currentIndex = currentIndex;
|
this.currentIndex = currentIndex;
|
||||||
label.setText(textList.get(currentIndex));
|
label.setText(textList.get(currentIndex));
|
||||||
|
label.layout();
|
||||||
ChangeListener.ChangeEvent changeEvent = Pools.obtain(ChangeListener.ChangeEvent.class);
|
ChangeListener.ChangeEvent changeEvent = Pools.obtain(ChangeListener.ChangeEvent.class);
|
||||||
if (fire(changeEvent)) {
|
if (fire(changeEvent)) {
|
||||||
this.currentIndex = oldIndex;
|
this.currentIndex = oldIndex;
|
||||||
label.setText(textList.get(currentIndex));
|
label.setText(textList.get(currentIndex));
|
||||||
|
label.layout();
|
||||||
}
|
}
|
||||||
Pools.free(changeEvent);
|
Pools.free(changeEvent);
|
||||||
}
|
}
|
||||||
@@ -91,7 +93,7 @@ public class Selector extends Group {
|
|||||||
public String getText() {
|
public String getText() {
|
||||||
return textList.get(currentIndex);
|
return textList.get(currentIndex);
|
||||||
}
|
}
|
||||||
public TextButton getLabel() {
|
public TextraButton getLabel() {
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
public ImageButton getLeftArrow() {
|
public ImageButton getLeftArrow() {
|
||||||
|
|||||||
@@ -196,6 +196,8 @@ public class TemplateTmxMapLoader extends TmxMapLoader {
|
|||||||
protected void loadObject(TiledMap map, MapObjects objects, XmlReader.Element element, float heightInPixels) {
|
protected void loadObject(TiledMap map, MapObjects objects, XmlReader.Element element, float heightInPixels) {
|
||||||
if (element.getName().equals("object")) {
|
if (element.getName().equals("object")) {
|
||||||
|
|
||||||
|
if( element.hasAttribute("class")&& !element.hasAttribute("type"))
|
||||||
|
element.setAttribute("type",element.getAttribute("class"));//set type to class value for Tiled 1.9 compatibility
|
||||||
if (!element.hasAttribute("template")) {
|
if (!element.hasAttribute("template")) {
|
||||||
super.loadObject(map, objects, element, heightInPixels);
|
super.loadObject(map, objects, element, heightInPixels);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
|||||||
import com.badlogic.gdx.utils.Json;
|
import com.badlogic.gdx.utils.Json;
|
||||||
import com.badlogic.gdx.utils.ObjectMap;
|
import com.badlogic.gdx.utils.ObjectMap;
|
||||||
import com.badlogic.gdx.utils.OrderedMap;
|
import com.badlogic.gdx.utils.OrderedMap;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.UIData;
|
import forge.adventure.data.UIData;
|
||||||
|
|
||||||
@@ -44,11 +46,11 @@ public class UIActor extends Group {
|
|||||||
readSelectorProperties((Selector) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readSelectorProperties((Selector) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "Label":
|
case "Label":
|
||||||
newActor = new Label("", Controls.GetSkin());
|
newActor = Controls.newTextraLabel("");
|
||||||
readLabelProperties((Label) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readLabelProperties((TextraLabel) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "Table":
|
case "Table":
|
||||||
newActor = new Table(Controls.GetSkin());
|
newActor = new Table(Controls.getSkin());
|
||||||
readTableProperties((Table) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readTableProperties((Table) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "Image":
|
case "Image":
|
||||||
@@ -56,31 +58,31 @@ public class UIActor extends Group {
|
|||||||
readImageProperties((Image) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readImageProperties((Image) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "ImageButton":
|
case "ImageButton":
|
||||||
newActor = new ImageButton(Controls.GetSkin());
|
newActor = new ImageButton(Controls.getSkin());
|
||||||
readImageButtonProperties((ImageButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readImageButtonProperties((ImageButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "Window":
|
case "Window":
|
||||||
newActor = new Window("", Controls.GetSkin());
|
newActor = new Window("", Controls.getSkin());
|
||||||
readWindowProperties((Window) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readWindowProperties((Window) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "TextButton":
|
case "TextButton":
|
||||||
newActor = new TextButton("", Controls.GetSkin());
|
newActor = Controls.newTextButton("");
|
||||||
readButtonProperties((TextButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readButtonProperties((TextraButton) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "TextField":
|
case "TextField":
|
||||||
newActor = new TextField("", Controls.GetSkin());
|
newActor = new TextField("", Controls.getSkin());
|
||||||
readTextFieldProperties((TextField) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readTextFieldProperties((TextField) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "Scroll":
|
case "Scroll":
|
||||||
newActor = new ScrollPane(null, Controls.GetSkin());
|
newActor = new ScrollPane(null, Controls.getSkin());
|
||||||
readScrollPaneProperties((ScrollPane) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readScrollPaneProperties((ScrollPane) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "CheckBox":
|
case "CheckBox":
|
||||||
newActor = new CheckBox("", Controls.GetSkin());
|
newActor = new CheckBox("", Controls.getSkin());
|
||||||
readCheckBoxProperties((CheckBox) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
readCheckBoxProperties((CheckBox) newActor, new OrderedMap.OrderedMapEntries<>(element));
|
||||||
break;
|
break;
|
||||||
case "SelectBox":
|
case "SelectBox":
|
||||||
newActor = new SelectBox<>(Controls.GetSkin());
|
newActor = new SelectBox<>(Controls.getSkin());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Unexpected value: " + type);
|
throw new IllegalStateException("Unexpected value: " + type);
|
||||||
@@ -135,11 +137,11 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
newActor.setActor(new Label("", Controls.GetSkin()));
|
newActor.setActor(Controls.newTextraLabel(""));
|
||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "style":
|
case "style":
|
||||||
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), ScrollPane.ScrollPaneStyle.class));
|
newActor.setStyle(Controls.getSkin().get(property.value.toString(), ScrollPane.ScrollPaneStyle.class));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -149,7 +151,7 @@ public class UIActor extends Group {
|
|||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "style":
|
case "style":
|
||||||
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), Window.WindowStyle.class));
|
newActor.setStyle(Controls.getSkin().get(property.value.toString(), Window.WindowStyle.class));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,13 +172,13 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String localize(String str) {
|
public static String localize(String str) {
|
||||||
Pattern regex=Pattern.compile("\\{[^\\}]*\\}");
|
Pattern regex=Pattern.compile("tr\\([^\\)]*\\)");
|
||||||
for(int i=0;i<100;i++)
|
for(int i=0;i<100;i++)
|
||||||
{
|
{
|
||||||
Matcher matcher= regex.matcher(str);
|
Matcher matcher= regex.matcher(str);
|
||||||
if(!matcher.find())
|
if(!matcher.find())
|
||||||
return str;
|
return str;
|
||||||
str=matcher.replaceAll(Forge.getLocalizer().getMessage(matcher.group().substring(1,matcher.group().length()-1)));
|
str=matcher.replaceFirst(Forge.getLocalizer().getMessage(matcher.group().substring(3,matcher.group().length()-1)));
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
@@ -185,39 +187,34 @@ public class UIActor extends Group {
|
|||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "style":
|
case "style":
|
||||||
newActor.setStyle(Controls.GetSkin().get(property.value.toString(), ImageButton.ImageButtonStyle.class));
|
newActor.setStyle(Controls.getSkin().get(property.value.toString(), ImageButton.ImageButtonStyle.class));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readLabelProperties(Label newActor, ObjectMap.Entries<String, String> entries) {
|
private void readLabelProperties(TextraLabel newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
Label.LabelStyle style = new Label.LabelStyle(newActor.getStyle());
|
|
||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "text":
|
case "text":
|
||||||
newActor.setText(localize(property.value.toString()));
|
newActor.setText(localize(property.value.toString()));
|
||||||
break;
|
break;
|
||||||
case "font"://legacy
|
case "font":
|
||||||
style.font = Controls.getBitmapFont(property.value.toString());
|
|
||||||
if (property.value.toString().contains("black"))
|
|
||||||
style.fontColor = Color.BLACK;
|
|
||||||
if (property.value.toString().contains("big"))
|
|
||||||
newActor.setFontScale(2, 2);
|
|
||||||
newActor.setStyle(style);
|
|
||||||
break;
|
|
||||||
case "fontSize":
|
|
||||||
newActor.setFontScale((Float)property.value, (Float)property.value);
|
|
||||||
break;
|
|
||||||
case "fontName":
|
case "fontName":
|
||||||
style.font = Controls.getBitmapFont(property.value.toString());
|
if(!property.value.toString().equals("default"))
|
||||||
newActor.setStyle(style);
|
newActor.setFont(Controls.getTextraFont(property.value.toString()));
|
||||||
break;
|
break;
|
||||||
|
case "style":
|
||||||
|
newActor.style=(Controls.getSkin().get(property.value.toString(), Label.LabelStyle.class));
|
||||||
|
break;
|
||||||
|
case "color":
|
||||||
case "fontColor":
|
case "fontColor":
|
||||||
newActor.setColor(new Color(Integer.decode(property.value.toString()) ));
|
newActor.layout.setBaseColor(Controls.colorFromString(property.value.toString()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
newActor.setText(newActor.storedText);//necessary if color changes after text inserted
|
||||||
|
newActor.layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readTableProperties(Table newActor, ObjectMap.Entries<String, String> entries) {
|
private void readTableProperties(Table newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
@@ -247,14 +244,18 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readButtonProperties(TextButton newActor, ObjectMap.Entries<String, String> entries) {
|
private void readButtonProperties(TextraButton newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
for (ObjectMap.Entry property : entries) {
|
for (ObjectMap.Entry property : entries) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
case "text":
|
case "text":
|
||||||
newActor.setText(localize(property.value.toString()));
|
newActor.setText(localize(property.value.toString()));
|
||||||
break;
|
break;
|
||||||
|
case "style":
|
||||||
|
newActor.setStyle(Controls.getSkin().get(property.value.toString(), TextButton.TextButtonStyle.class));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
newActor.layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readImageProperties(Image newActor, ObjectMap.Entries<String, String> entries) {
|
private void readImageProperties(Image newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.tommyettinger</groupId>
|
<groupId>com.github.tommyettinger</groupId>
|
||||||
<artifactId>textratypist</artifactId>
|
<artifactId>textratypist</artifactId>
|
||||||
<version>0.7.1</version>
|
<version>0.7.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.thoughtworks.xstream</groupId>
|
<groupId>com.thoughtworks.xstream</groupId>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"playerBaseSpeed": 32,
|
"playerBaseSpeed": 32,
|
||||||
"minDeckSize": 40,
|
"minDeckSize": 40,
|
||||||
"colorIds":["W","U","B","R","G"],
|
"colorIds":["W","U","B","R","G"],
|
||||||
"colorIdNames":["{lblWhite}","{lblBlue}","{lblBlack}","{lblRed}","{lblGreen}"],
|
"colorIdNames":["tr(lblWhite) [+w]","tr(lblBlue) [+u]","tr(lblBlack) [+b]","tr(lblRed) [+r]","tr(lblGreen) [+g]"],
|
||||||
"restrictedCards": [
|
"restrictedCards": [
|
||||||
"Black Lotus",
|
"Black Lotus",
|
||||||
"Mox Emerald",
|
"Mox Emerald",
|
||||||
|
|||||||
@@ -3,11 +3,11 @@
|
|||||||
"height": 4300,
|
"height": 4300,
|
||||||
"width": 2
|
"width": 2
|
||||||
},
|
},
|
||||||
"activeFile": "map/main_story/plains_capital.tmx",
|
"activeFile": "map/main_story/spawn.tmx",
|
||||||
"automapping.whileDrawing": false,
|
"automapping.whileDrawing": false,
|
||||||
"expandedProjectPaths": [
|
"expandedProjectPaths": [
|
||||||
"map",
|
|
||||||
"tileset",
|
"tileset",
|
||||||
|
"map",
|
||||||
"obj",
|
"obj",
|
||||||
"map/main_story"
|
"map/main_story"
|
||||||
],
|
],
|
||||||
@@ -1551,11 +1551,11 @@
|
|||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 1.5,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.66666666666666,
|
"x": 230.5,
|
||||||
"y": 154
|
"y": 155.83333333333331
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/fort_1.tmx": {
|
"map/fort_1.tmx": {
|
||||||
@@ -1939,11 +1939,11 @@
|
|||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 1.5,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 256.3333333333333,
|
"x": 255.25,
|
||||||
"y": 129
|
"y": 122.25
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/magetower_1.tmx": {
|
"map/magetower_1.tmx": {
|
||||||
@@ -2127,8 +2127,8 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.66666666666666,
|
"x": 240,
|
||||||
"y": 911.6666666666666
|
"y": 912
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/forest_capital.tmx": {
|
"map/main_story/forest_capital.tmx": {
|
||||||
@@ -2138,84 +2138,87 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 319.8333333333333,
|
"x": 320,
|
||||||
"y": 319.8333333333333
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/green_castle.tmx": {
|
"map/main_story/green_castle.tmx": {
|
||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.83333333333331,
|
"x": 246,
|
||||||
"y": 239.83333333333331
|
"y": 239.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/island_capital.tmx": {
|
"map/main_story/island_capital.tmx": {
|
||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 1,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 319.5,
|
"x": 320,
|
||||||
"y": 319.5
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/mountain_capital.tmx": {
|
"map/main_story/mountain_capital.tmx": {
|
||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 4,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 373.125,
|
"x": 320,
|
||||||
"y": 216.75
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/plains_capital.tmx": {
|
"map/main_story/plains_capital.tmx": {
|
||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 2,
|
"scale": 8,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 410.75,
|
"x": 320,
|
||||||
"y": 173.5
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/red_castle.tmx": {
|
"map/main_story/red_castle.tmx": {
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 240,
|
||||||
"y": 239.75
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/skep.tmx": {
|
"map/main_story/skep.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 358.6666666666667,
|
"x": 240,
|
||||||
"y": 348.3333333333333
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/spawn.tmx": {
|
"map/main_story/spawn.tmx": {
|
||||||
"scale": 1.5,
|
"expandedObjectLayers": [
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"scale": 4,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.66666666666666,
|
"x": 240,
|
||||||
"y": 239.66666666666669
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/swamp_capital.tmx": {
|
"map/main_story/swamp_capital.tmx": {
|
||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 3,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 319.8333333333333,
|
"x": 320,
|
||||||
"y": 319.8333333333333
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/unbenannt.tmx": {
|
"map/main_story/unbenannt.tmx": {
|
||||||
@@ -2238,8 +2241,8 @@
|
|||||||
"scale": 4,
|
"scale": 4,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.875,
|
"x": 240,
|
||||||
"y": 239.875
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/maze_1.tmx": {
|
"map/maze_1.tmx": {
|
||||||
@@ -2379,11 +2382,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/mountain_town.tmx": {
|
"map/mountain_town.tmx": {
|
||||||
|
"expandedObjectLayers": [
|
||||||
|
4
|
||||||
|
],
|
||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 235.5,
|
"x": 235.5,
|
||||||
"y": 135.66666666666663
|
"y": 135.83333333333331
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/nest_blue_1.tmx": {
|
"map/nest_blue_1.tmx": {
|
||||||
@@ -2694,6 +2700,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/swamp_town.tmx": {
|
"map/swamp_town.tmx": {
|
||||||
|
"expandedObjectLayers": [
|
||||||
|
4
|
||||||
|
],
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
@@ -2772,11 +2781,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/waste_town.tmx": {
|
"map/waste_town.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 214.66666666666663,
|
"x": 239.99999999999997,
|
||||||
"y": 299
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/waste_town_2.tmx": {
|
"map/waste_town_2.tmx": {
|
||||||
@@ -2799,23 +2808,23 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 250.33333333333331,
|
"x": 240,
|
||||||
"y": 148.33333333333331
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/yule_town.tmx": {
|
"map/yule_town.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 250.99999999999997,
|
"x": 240,
|
||||||
"y": 33.666666666666686
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/zombietown.tmx": {
|
"map/zombietown.tmx": {
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 479.75,
|
"x": 480,
|
||||||
"y": 272
|
"y": 272
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2840,7 +2849,6 @@
|
|||||||
"map/main_story/red_castle.tmx",
|
"map/main_story/red_castle.tmx",
|
||||||
"map/main_story/plains_capital.tmx",
|
"map/main_story/plains_capital.tmx",
|
||||||
"map/main_story/forest_capital.tmx",
|
"map/main_story/forest_capital.tmx",
|
||||||
"map/main_story/swamp_capital.tmx",
|
|
||||||
"map/main_story/mountain_capital.tmx",
|
"map/main_story/mountain_capital.tmx",
|
||||||
"map/main_story/island_capital.tmx",
|
"map/main_story/island_capital.tmx",
|
||||||
"map/main_story/spawn.tmx",
|
"map/main_story/spawn.tmx",
|
||||||
@@ -2848,23 +2856,28 @@
|
|||||||
"map/main_story/white_castle.tmx",
|
"map/main_story/white_castle.tmx",
|
||||||
"tileset/main.tsx",
|
"tileset/main.tsx",
|
||||||
"tileset/buildings.tsx",
|
"tileset/buildings.tsx",
|
||||||
"map/forest_town.tmx"
|
"map/zombietown.tmx",
|
||||||
|
"map/yule_town.tmx",
|
||||||
|
"map/wurmpond_1.tmx",
|
||||||
|
"map/waste_town.tmx",
|
||||||
|
"map/main_story/swamp_capital.tmx",
|
||||||
|
"map/main_story/skep.tmx"
|
||||||
],
|
],
|
||||||
"project": "main.tiled-project",
|
"project": "main.tiled-project",
|
||||||
"property.type": "string",
|
"property.type": "int",
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
"map/main_story/green_castle.tmx",
|
"map/main_story/green_castle.tmx",
|
||||||
"map/main_story/red_castle.tmx",
|
"map/main_story/red_castle.tmx",
|
||||||
"map/forest_town.tmx",
|
"map/main_story/plains_capital.tmx",
|
||||||
"tileset/buildings.tsx",
|
"map/main_story/forest_capital.tmx",
|
||||||
"tileset/main.tsx",
|
|
||||||
"map/main_story/white_castle.tmx",
|
|
||||||
"map/main_story/final_castle.tmx",
|
|
||||||
"map/main_story/spawn.tmx",
|
|
||||||
"map/main_story/island_capital.tmx",
|
|
||||||
"map/main_story/mountain_capital.tmx",
|
"map/main_story/mountain_capital.tmx",
|
||||||
|
"map/main_story/island_capital.tmx",
|
||||||
|
"map/main_story/skep.tmx",
|
||||||
"map/main_story/swamp_capital.tmx",
|
"map/main_story/swamp_capital.tmx",
|
||||||
"map/main_story/forest_capital.tmx"
|
"map/waste_town.tmx",
|
||||||
|
"map/wurmpond_1.tmx",
|
||||||
|
"map/yule_town.tmx",
|
||||||
|
"map/zombietown.tmx"
|
||||||
],
|
],
|
||||||
"resizeMap.removeObjects": true,
|
"resizeMap.removeObjects": true,
|
||||||
"textEdit.monospace": true
|
"textEdit.monospace": true
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.9" tiledversion="1.9.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="71">
|
<map version="1.9" tiledversion="1.9.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="72">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
@@ -52,9 +52,8 @@
|
|||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="59" template="../../obj/entry_left.tx" x="336.96" y="541.969" width="16" height="80.9948" rotation="179.747"/>
|
<object id="59" template="../../obj/entry_left.tx" x="321" y="623" width="16" height="80.9948" rotation="0"/>
|
||||||
<object id="60" template="../../obj/entry_right.tx" x="254" y="623" width="16" height="85"/>
|
<object id="60" template="../../obj/entry_right.tx" x="254" y="623" width="16" height="85"/>
|
||||||
<object id="61" template="../../obj/arena.tx" x="352" y="583"/>
|
|
||||||
<object id="62" template="../../obj/shop.tx" x="361" y="370">
|
<object id="62" template="../../obj/shop.tx" x="361" y="370">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="GreenEquipment"/>
|
<property name="shopList" value="GreenEquipment"/>
|
||||||
@@ -102,5 +101,67 @@
|
|||||||
<property name="shopList" value="Instant,Creature,Green,Gruul,Selesnya,Golgari,Simic,Elf "/>
|
<property name="shopList" value="Instant,Creature,Green,Gruul,Selesnya,Golgari,Simic,Elf "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
|
<object id="71" template="../../obj/arena.tx" x="359" y="290">
|
||||||
|
<properties>
|
||||||
|
<property name="arena">{
|
||||||
|
|
||||||
|
"enemyPool":[
|
||||||
|
"Ape",
|
||||||
|
"Bear",
|
||||||
|
"Centaur",
|
||||||
|
"Centaur Warrior",
|
||||||
|
"Dino",
|
||||||
|
"Eldraine Faerie",
|
||||||
|
"Elf",
|
||||||
|
"Elf warrior",
|
||||||
|
"Elk",
|
||||||
|
"Faerie",
|
||||||
|
"Giant Spider",
|
||||||
|
"Gorgon",
|
||||||
|
"Gorgon 2",
|
||||||
|
"Green Beast",
|
||||||
|
"Green Wiz1",
|
||||||
|
"Green Wiz2",
|
||||||
|
"Green Wiz3",
|
||||||
|
"High Elf",
|
||||||
|
"Hydra",
|
||||||
|
"Satyr",
|
||||||
|
"Snake",
|
||||||
|
"Spider",
|
||||||
|
"Treefolk",
|
||||||
|
"Treefolk Guardian",
|
||||||
|
"Viper",
|
||||||
|
"Werewolf",
|
||||||
|
"Wurm"
|
||||||
|
],
|
||||||
|
"rounds":3,
|
||||||
|
"entryFee":100,
|
||||||
|
"rewards": [[
|
||||||
|
{
|
||||||
|
"type": "card",
|
||||||
|
"probability": 1,
|
||||||
|
"count":2,
|
||||||
|
"rarity": [
|
||||||
|
"Mythic Rare"
|
||||||
|
],
|
||||||
|
"colors": ["green"]
|
||||||
|
}
|
||||||
|
],[
|
||||||
|
{
|
||||||
|
"type": "gold",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 500
|
||||||
|
}
|
||||||
|
],[{
|
||||||
|
"type": "item",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 1,
|
||||||
|
"itemNames": ["Dungeon Map","Mad Staff","Gold Boots","Disrupting Scepter"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
@@ -36,49 +36,49 @@
|
|||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
<object id="41" template="../../obj/shop.tx" x="232" y="162">
|
<object id="41" template="../../obj/shop.tx" x="232" y="162">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="56" template="../../obj/shop.tx" x="103" y="226">
|
<object id="56" template="../../obj/shop.tx" x="103" y="226">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="57" template="../../obj/shop.tx" x="392" y="162">
|
<object id="57" template="../../obj/shop.tx" x="392" y="162">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="43" template="../../obj/shop.tx" x="152" y="451">
|
<object id="43" template="../../obj/shop.tx" x="152" y="451">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="47" template="../../obj/inn.tx" x="311" y="227"/>
|
<object id="47" template="../../obj/inn.tx" x="311" y="227"/>
|
||||||
<object id="49" template="../../obj/shop.tx" x="520" y="225">
|
<object id="49" template="../../obj/shop.tx" x="520" y="225">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="50" template="../../obj/shop.tx" x="536" y="354">
|
<object id="50" template="../../obj/shop.tx" x="536" y="354">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="51" template="../../obj/shop.tx" x="472" y="450">
|
<object id="51" template="../../obj/shop.tx" x="472" y="450">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="52" template="../../obj/shop.tx" x="88" y="354">
|
<object id="52" template="../../obj/shop.tx" x="88" y="354">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Blue,Azorius,Dimir,Izzet,Simic,Merfolk "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="53" template="../../obj/spellsmith.tx" x="408" y="402"/>
|
<object id="53" template="../../obj/spellsmith.tx" x="408" y="402"/>
|
||||||
<object id="55" template="../../obj/shop.tx" x="465" y="515">
|
<object id="55" template="../../obj/shop.tx" x="465" y="515">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Plains"/>
|
<property name="shopList" value="Island"/>
|
||||||
<property name="signYOffset" type="float" value="0"/>
|
<property name="signYOffset" type="float" value="0"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
@@ -87,7 +87,58 @@
|
|||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="61" template="../../obj/arena.tx" x="216" y="403"/>
|
<object id="61" template="../../obj/arena.tx" x="216" y="403">
|
||||||
|
<properties>
|
||||||
|
<property name="arena">{
|
||||||
|
|
||||||
|
"enemyPool":[
|
||||||
|
"Bird",
|
||||||
|
"Djinn",
|
||||||
|
"Elemental",
|
||||||
|
"Merfolk",
|
||||||
|
"Merfolk Avatar",
|
||||||
|
"Merfolk Fighter",
|
||||||
|
"Merfolk Lord",
|
||||||
|
"Merfolk Soldier",
|
||||||
|
"Merfolk warrior",
|
||||||
|
"Blue Wiz1",
|
||||||
|
"Blue Wiz2",
|
||||||
|
"Blue Wiz3",
|
||||||
|
"Geist",
|
||||||
|
"Rogue",
|
||||||
|
"Sea Monster",
|
||||||
|
"Tarkir Djinn",
|
||||||
|
"Doppelganger"
|
||||||
|
],
|
||||||
|
"rounds":3,
|
||||||
|
"entryFee":100,
|
||||||
|
"rewards": [[
|
||||||
|
{
|
||||||
|
"type": "card",
|
||||||
|
"probability": 1,
|
||||||
|
"count":2,
|
||||||
|
"rarity": [
|
||||||
|
"Mythic Rare"
|
||||||
|
],
|
||||||
|
"colors": ["blue"]
|
||||||
|
}
|
||||||
|
],[
|
||||||
|
{
|
||||||
|
"type": "gold",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 500
|
||||||
|
}
|
||||||
|
],[{
|
||||||
|
"type": "item",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 1,
|
||||||
|
"itemNames": ["Mithril Armor","Mithril Shield","Mithril Boots","Dagger"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
<object id="62" template="../../obj/shop.tx" x="360" y="370">
|
<object id="62" template="../../obj/shop.tx" x="360" y="370">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="BlueItems"/>
|
<property name="shopList" value="BlueItems"/>
|
||||||
|
|||||||
@@ -36,12 +36,12 @@
|
|||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
<object id="41" template="../../obj/shop.tx" x="249" y="370">
|
<object id="41" template="../../obj/shop.tx" x="249" y="370">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="56" template="../../obj/shop.tx" x="153" y="371">
|
<object id="56" template="../../obj/shop.tx" x="153" y="371">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="57" template="../../obj/shop.tx" x="201" y="418">
|
<object id="57" template="../../obj/shop.tx" x="201" y="418">
|
||||||
@@ -51,34 +51,34 @@
|
|||||||
</object>
|
</object>
|
||||||
<object id="43" template="../../obj/shop.tx" x="105" y="370">
|
<object id="43" template="../../obj/shop.tx" x="105" y="370">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="47" template="../../obj/inn.tx" x="376" y="370"/>
|
<object id="47" template="../../obj/inn.tx" x="376" y="370"/>
|
||||||
<object id="49" template="../../obj/shop.tx" x="105" y="418">
|
<object id="49" template="../../obj/shop.tx" x="105" y="418">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="50" template="../../obj/shop.tx" x="152" y="418">
|
<object id="50" template="../../obj/shop.tx" x="152" y="418">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="51" template="../../obj/shop.tx" x="248" y="417">
|
<object id="51" template="../../obj/shop.tx" x="248" y="417">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="52" template="../../obj/shop.tx" x="201" y="370">
|
<object id="52" template="../../obj/shop.tx" x="201" y="370">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
<property name="shopList" value="Instant,Creature,Red,Rakdos,Gruul,Izzet,Boros,Goblin "/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="53" template="../../obj/spellsmith.tx" x="152" y="258"/>
|
<object id="53" template="../../obj/spellsmith.tx" x="152" y="258"/>
|
||||||
<object id="55" template="../../obj/shop.tx" x="368" y="433">
|
<object id="55" template="../../obj/shop.tx" x="368" y="433">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Plains"/>
|
<property name="shopList" value="Mountain"/>
|
||||||
<property name="signYOffset" type="float" value="0"/>
|
<property name="signYOffset" type="float" value="0"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
@@ -87,9 +87,73 @@
|
|||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="59" template="../../obj/entry_left.tx" x="351" y="534" width="16" height="89.9726" rotation="179.747"/>
|
<object id="59" template="../../obj/entry_left.tx" x="337" y="627" width="16" height="89.9726" rotation="0"/>
|
||||||
<object id="60" template="../../obj/entry_right.tx" x="266" y="623" width="16" height="88"/>
|
<object id="60" template="../../obj/entry_right.tx" x="266" y="623" width="16" height="88"/>
|
||||||
<object id="61" template="../../obj/arena.tx" x="200" y="258"/>
|
<object id="61" template="../../obj/arena.tx" x="200" y="258">
|
||||||
|
<properties>
|
||||||
|
<property name="arena">{
|
||||||
|
|
||||||
|
"enemyPool":[
|
||||||
|
"Amonkhet Minotaur",
|
||||||
|
"Ashmouth Devil",
|
||||||
|
"Axgard Dwarf",
|
||||||
|
"Berserker",
|
||||||
|
"Boggart",
|
||||||
|
"Cyclops",
|
||||||
|
"Devil",
|
||||||
|
"Dinosaur",
|
||||||
|
"Dragon",
|
||||||
|
"Dwarf",
|
||||||
|
"Efreet",
|
||||||
|
"Fire Elemental",
|
||||||
|
"Flame Elemental",
|
||||||
|
"Goblin",
|
||||||
|
"Goblin Chief",
|
||||||
|
"Goblin Warrior",
|
||||||
|
"Hellhound",
|
||||||
|
"Immersturm Demon",
|
||||||
|
"Khan",
|
||||||
|
"Minotaur",
|
||||||
|
"Minotaur Flayer",
|
||||||
|
"Red Beast",
|
||||||
|
"Red Wiz1",
|
||||||
|
"Red Wiz2",
|
||||||
|
"Red Wiz3",
|
||||||
|
"Shaman",
|
||||||
|
"Troll",
|
||||||
|
"Vampire Lord",
|
||||||
|
"Viashino",
|
||||||
|
"Yeti"
|
||||||
|
],
|
||||||
|
"rounds":3,
|
||||||
|
"entryFee":100,
|
||||||
|
"rewards": [[
|
||||||
|
{
|
||||||
|
"type": "card",
|
||||||
|
"probability": 1,
|
||||||
|
"count":2,
|
||||||
|
"rarity": [
|
||||||
|
"Mythic Rare"
|
||||||
|
],
|
||||||
|
"colors": ["red"]
|
||||||
|
}
|
||||||
|
],[
|
||||||
|
{
|
||||||
|
"type": "gold",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 500
|
||||||
|
}
|
||||||
|
],[{
|
||||||
|
"type": "item",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 1,
|
||||||
|
"itemNames": ["Aladdin's Ring","Axt","Ring of Immortals","Jandor's Ring"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
<object id="62" template="../../obj/shop.tx" x="361" y="258">
|
<object id="62" template="../../obj/shop.tx" x="361" y="258">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="RedEquipment"/>
|
<property name="shopList" value="RedEquipment"/>
|
||||||
|
|||||||
@@ -87,9 +87,9 @@
|
|||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="59" template="../../obj/entry_left.tx" x="416" y="552" width="16" height="71.964" rotation="179.747"/>
|
<object id="59" template="../../obj/entry_left.tx" x="392" y="625" width="16" height="71.964" rotation="0"/>
|
||||||
<object id="60" template="../../obj/entry_right.tx" x="304" y="624" width="16" height="69"/>
|
<object id="60" template="../../obj/entry_right.tx" x="304" y="624" width="16" height="69"/>
|
||||||
<object id="61" template="../../obj/arena.tx" x="422.667" y="113.364">
|
<object id="61" template="../../obj/arena.tx" x="423" y="114">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="arena">{
|
<property name="arena">{
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="68">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="69">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
@@ -32,15 +32,16 @@
|
|||||||
<object id="38" template="../../obj/entry_up.tx" x="1" y="481" width="478" height="16">
|
<object id="38" template="../../obj/entry_up.tx" x="1" y="481" width="478" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
|
<property name="teleport" value=""/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="61" template="../../obj/entry_left.tx" x="0" y="465" width="16" height="465"/>
|
<object id="61" template="../../obj/entry_left.tx" x="0" y="465" width="16" height="465"/>
|
||||||
<object id="65" template="../../obj/entry_left.tx" x="464" y="463" width="16" height="462"/>
|
<object id="65" template="../../obj/entry_left.tx" x="464" y="463" width="16" height="462"/>
|
||||||
<object id="66" template="../../obj/entry_down.tx" x="16" y="17" width="447" height="16"/>
|
<object id="66" template="../../obj/entry_down.tx" x="16" y="17" width="447" height="16"/>
|
||||||
<object id="67" name="IntroChar" type="dialog" gid="7627" x="238" y="208" width="16" height="16">
|
<object id="67" name="IntroChar" class="dialog" gid="7627" x="238" y="208" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="dialog">[{
|
<property name="dialog">[{
|
||||||
"text":"Hello Planeswalker",
|
"text":"Hello Planeswalker {var=player_name}",
|
||||||
"options":[
|
"options":[
|
||||||
{
|
{
|
||||||
"name":"Why am I here",
|
"name":"Why am I here",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.9" tiledversion="1.9.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="64">
|
<map version="1.9" tiledversion="1.9.1" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="72">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export format="tmx"/>
|
<export format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
@@ -34,51 +34,11 @@
|
|||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
<object id="41" template="../../obj/shop.tx" x="473" y="273">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="56" template="../../obj/shop.tx" x="424" y="274">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="57" template="../../obj/shop.tx" x="520" y="273">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="43" template="../../obj/shop.tx" x="377" y="322">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="47" template="../../obj/inn.tx" x="361" y="371"/>
|
<object id="47" template="../../obj/inn.tx" x="361" y="371"/>
|
||||||
<object id="49" template="../../obj/shop.tx" x="424" y="322">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="50" template="../../obj/shop.tx" x="472" y="322">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="51" template="../../obj/shop.tx" x="521" y="322">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="52" template="../../obj/shop.tx" x="376" y="274">
|
|
||||||
<properties>
|
|
||||||
<property name="shopList" value="Human,Boros,Orzhov,Selesnya,Selesnya,Azorius,White,Creature,Instant,Angel"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="53" template="../../obj/spellsmith.tx" x="392" y="194"/>
|
<object id="53" template="../../obj/spellsmith.tx" x="392" y="194"/>
|
||||||
<object id="55" template="../../obj/shop.tx" x="416" y="402">
|
<object id="55" template="../../obj/shop.tx" x="416" y="402">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="Plains"/>
|
<property name="shopList" value="Swamp"/>
|
||||||
<property name="signYOffset" type="float" value="0"/>
|
<property name="signYOffset" type="float" value="0"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
@@ -87,9 +47,63 @@
|
|||||||
<property name="spawn" type="bool" value="true"/>
|
<property name="spawn" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="59" template="../../obj/entry_left.tx" x="368" y="442" width="16" height="197.002" rotation="179.747"/>
|
<object id="59" template="../../obj/entry_left.tx" x="354" y="635" width="16" height="197.002" rotation="0"/>
|
||||||
<object id="60" template="../../obj/entry_right.tx" x="242" y="642" width="16" height="198"/>
|
<object id="60" template="../../obj/entry_right.tx" x="242" y="642" width="16" height="198"/>
|
||||||
<object id="61" template="../../obj/arena.tx" x="168" y="178"/>
|
<object id="61" template="../../obj/arena.tx" x="168" y="178">
|
||||||
|
<properties>
|
||||||
|
<property name="arena">{
|
||||||
|
|
||||||
|
"enemyPool":[
|
||||||
|
"Beholder",
|
||||||
|
"Big Zombie",
|
||||||
|
"Black Wiz1",
|
||||||
|
"Black Wiz2",
|
||||||
|
"Black Wiz3",
|
||||||
|
"Dark Knight",
|
||||||
|
"Death Knight",
|
||||||
|
"Demon",
|
||||||
|
"Ghoul",
|
||||||
|
"Ghost",
|
||||||
|
"Harpy",
|
||||||
|
"Harpy 2",
|
||||||
|
"High Vampire",
|
||||||
|
"Lich",
|
||||||
|
"Rakdos Devil",
|
||||||
|
"Skeleton",
|
||||||
|
"Skeleton Soldier",
|
||||||
|
"Vampire",
|
||||||
|
"Zombie",
|
||||||
|
"Zombie Lord"
|
||||||
|
],
|
||||||
|
"rounds":3,
|
||||||
|
"entryFee":100,
|
||||||
|
"rewards": [[
|
||||||
|
{
|
||||||
|
"type": "card",
|
||||||
|
"probability": 1,
|
||||||
|
"count":2,
|
||||||
|
"rarity": [
|
||||||
|
"Mythic Rare"
|
||||||
|
],
|
||||||
|
"colors": ["black"]
|
||||||
|
}
|
||||||
|
],[
|
||||||
|
{
|
||||||
|
"type": "gold",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 500
|
||||||
|
}
|
||||||
|
],[{
|
||||||
|
"type": "item",
|
||||||
|
"probability": 1,
|
||||||
|
"count": 1,
|
||||||
|
"itemNames": ["Death Ring","Dark Armor","Dark Shield","Dark Boots"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
<object id="62" template="../../obj/shop.tx" x="216" y="241">
|
<object id="62" template="../../obj/shop.tx" x="216" y="241">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="shopList" value="BlackItems"/>
|
<property name="shopList" value="BlackItems"/>
|
||||||
@@ -102,5 +116,45 @@
|
|||||||
<property name="signYOffset" type="float" value="0"/>
|
<property name="signYOffset" type="float" value="0"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
|
<object id="64" template="../../obj/shop.tx" x="376" y="274">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="65" template="../../obj/shop.tx" x="376" y="322">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="66" template="../../obj/shop.tx" x="424" y="274">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="67" template="../../obj/shop.tx" x="424" y="322">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="68" template="../../obj/shop.tx" x="472" y="274">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="69" template="../../obj/shop.tx" x="472" y="322">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="70" template="../../obj/shop.tx" x="520" y="274">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="71" template="../../obj/shop.tx" x="520" y="322">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Black,Dimir,Rakdos,Orzhov,Golgari,Simic,Zombie "/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="58">
|
<map version="1.9" tiledversion="1.9.1" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="59">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
@@ -7,12 +7,12 @@
|
|||||||
<tileset firstgid="6321" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="6321" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="1" name="Background" width="30" height="30">
|
<layer id="1" name="Background" width="30" height="30">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJyr4GZgqBjFo3gUDzhuwoIr0Ni0tg+XGwarvcSaRYxdA2HvQPl3MNhLjN3DzV5Cdg9U/NLCflqXD9S0F5s+QmZSw6+kuIceeKTZO4qHN7bmGXg3DCUMAHMg1Qw=
|
eJzt1LEKACAIBND2fti5L291iLxAU+qG29SnBElvTRiGCc1QQWp0rdXnsdMulV10FmJluFn3VnAR+zXXsrPeN8KP/h883VWfNdPj1pN9boQuXbr/uhNtp9Ws
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer id="2" name="Ground" width="30" height="30">
|
<layer id="2" name="Ground" width="30" height="30">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJy9l1FOwzAMhjN4QE2zI4zCAxyCh6EKCkfgAIODbByBAxQkBOqNeACBKD3C3omVRHWzNnHbrJasZl2X7/fsJO5SMHYQM3YofQpbccbuuWJOyZ3FNRP8UigdD3x/TIh1KZrcKeK2YzX+JbW8TMwNzbub797LJeNTNOPE9hRWwg77WfuYWP866hDfr9A4RExxpNxnG0dcJVcabzqu9vhV8o4I/ib9VHRzi0jpiuT1RNTOI+VmDFeIMUUabrn6LXiGPsM49ewHhvtIyHUi1HzcoRHrqxzsdVxzs4Wc+9jN9sWB9WUOdqL1AZeSuytOy+81V/O+O+qv0FxKLJRnzHOFp+b3xfXZGtXgmczx+SIM17V+wUyOfwi5o+b3V3NxflctmhNrTYCOzNo7Kv2flOg+dlO7pV7LkbV3wLnkO+cT0VyjRkeK5sTrF+tsY5qzv2+fkaD9wJ7TfI/3N/t7+ywEPpVdaC5lb2sz+/yn9jhQ998juPnAnmPWU2ebDelzQnF9TLtXGsvdzof1OHmAeIfah5ieexHgncq8J/V5P6HmF+pi29JHg/0Dv4Nh9Q==
|
eJzVl91NwzAQxw08IDvuCMXwAGMURRAYgQEKgxRGYIBSqQJlJ5AQISP0HZ9sqxc3sa+JG4mTTnGdxL//9fxxmUnGjjPGTrSPYXPB2KMwzDG5R9mWCX4tjY4ncTgmxDqTTe4YcfuxOv/SWlYjc1PzHia7fUvN+JTNOLG9ppWww36zPiTW3455iPtr1E4RU8aNx+w5EFcljMa7jqvfXmveKcHftV/Ibm7JjS6ur+dy64Ibd224Qow50nAvzLvgBfoN7TyyHzjuCyHXSprxREAj1lcH2IusyVVnYXYsDqyvCLCV1QdcSu5uBC2/t8KM+xGYf6XlUmKhPOOeKyNz/lDcmC3QHLycMnY1TcMNrV8wl+NvQu6o+f2xXJzfeYtm5a0J0FF4e0dt/5MK9WN3c7eya5l7ewecS7FzXsnmGnU6cjQmXr9YZxvTnf371hkK7Qf+mO4+3t/8+/5ZCHwqu7Rcyt7WZv75T61xhnKXPWuOoVywPnVOKm6M6ddKQ7mbSb8aJ0W8few/c9130j7fJ1QuzItNSx0N9gflvWk0
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer id="3" name="Walls" width="30" height="30">
|
<layer id="3" name="Walls" width="30" height="30">
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<property name="spriteLayer" type="bool" value="true"/>
|
<property name="spriteLayer" type="bool" value="true"/>
|
||||||
</properties>
|
</properties>
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBgFo4B2YAcLA4M0jfEuFkx7Q1lp7zdsdgxFe5NlGRhSZDHZtLaXWDBqL6YYcjxpSzEw6EhhNwtX3GKL58HsX3zgPTsqTQhoMGK34yuJ9pILSPHvYaBby4FxWwHEepyY8iMhfimxdzLHwNhLjBgxAJZWybX3Cyt5dSgp9fY3JHvRw3sKGp+Qm8kJJ3Q7iQHUsJccQIq9hMKOVvZSE5BrL6V+H2r+HSz2AgAoOizU
|
eJxjYBgFo4B2YAcLA4M0jfEuFkx7Q1lJd+sUDtLUY7ODHHtJBdS2N1mWgSFFFpMNA7BwIcdeUsMUGxiK4TyZAn8TYy+2eMIGcMUtNv1DMZxB4D07Kk0IaDBit+MrCfZSkq5J8e9hoFvLpRgYKoBYjxNTfiTELyX2oudDmL3ExB+5eZhY/xJjPiytkmvvF1by6lBS6u1vSPai+4lQOKO7mZx0QU48UcNecgAp9lKj7iTHXmoCcu2l1O9Dzb+DxV4ApmIxJg==
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer id="5" name="Overlay" width="30" height="30">
|
<layer id="5" name="Overlay" width="30" height="30">
|
||||||
@@ -76,6 +76,10 @@
|
|||||||
<property name="shopList" value="Equipment"/>
|
<property name="shopList" value="Equipment"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="49" template="../obj/spellsmith.tx" x="96" y="208"/>
|
<object id="58" template="../obj/shop.tx" x="97" y="209">
|
||||||
|
<properties>
|
||||||
|
<property name="shopList" value="Instant,Creature,Land,Colorless,Artifact,Multicolor,Azorius,Dimir,Rakdos,Gruul,Selesnya,Orzhov,Izzet,Golgari,Boros,Simic,Golem,Sliver"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
@@ -78,8 +78,8 @@ timeline0: 0.0
|
|||||||
- X Scale -
|
- X Scale -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 32.0
|
highMin: 64.0
|
||||||
highMax: 16.0
|
highMax: 48.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 2
|
scalingCount: 2
|
||||||
scaling0: 0.0
|
scaling0: 0.0
|
||||||
@@ -90,7 +90,16 @@ timeline1: 1.0
|
|||||||
- Y Scale -
|
- Y Scale -
|
||||||
active: false
|
active: false
|
||||||
- Velocity -
|
- Velocity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Angle -
|
- Angle -
|
||||||
active: false
|
active: false
|
||||||
- Rotation -
|
- Rotation -
|
||||||
@@ -144,8 +153,8 @@ spriteMode: random
|
|||||||
explosion
|
explosion
|
||||||
- Delay -
|
- Delay -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 175.0
|
lowMin: 0.0
|
||||||
lowMax: 175.0
|
lowMax: 0.0
|
||||||
- Duration -
|
- Duration -
|
||||||
lowMin: 100.0
|
lowMin: 100.0
|
||||||
lowMax: 100.0
|
lowMax: 100.0
|
||||||
@@ -223,8 +232,8 @@ timeline0: 0.0
|
|||||||
- X Scale -
|
- X Scale -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 32.0
|
highMin: 64.0
|
||||||
highMax: 16.0
|
highMax: 48.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 2
|
scalingCount: 2
|
||||||
scaling0: 0.0
|
scaling0: 0.0
|
||||||
@@ -235,9 +244,27 @@ timeline1: 1.0
|
|||||||
- Y Scale -
|
- Y Scale -
|
||||||
active: false
|
active: false
|
||||||
- Velocity -
|
- Velocity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Angle -
|
- Angle -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 60.0
|
||||||
|
highMax: 60.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Rotation -
|
- Rotation -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
@@ -289,153 +316,8 @@ spriteMode: random
|
|||||||
explosion
|
explosion
|
||||||
- Delay -
|
- Delay -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 350.0
|
|
||||||
lowMax: 350.0
|
|
||||||
- Duration -
|
|
||||||
lowMin: 100.0
|
|
||||||
lowMax: 100.0
|
|
||||||
- Count -
|
|
||||||
min: 0
|
|
||||||
max: 200
|
|
||||||
- Emission -
|
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 400.0
|
|
||||||
highMax: 400.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Life -
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 500.0
|
|
||||||
highMax: 500.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
independent: false
|
|
||||||
- Life Offset -
|
|
||||||
active: false
|
|
||||||
independent: false
|
|
||||||
- X Offset -
|
|
||||||
active: true
|
|
||||||
lowMin: -5.0
|
|
||||||
lowMax: -7.0
|
|
||||||
highMin: 0.0
|
|
||||||
highMax: 0.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Y Offset -
|
|
||||||
active: true
|
|
||||||
lowMin: 6.0
|
|
||||||
lowMax: 7.0
|
|
||||||
highMin: 0.0
|
|
||||||
highMax: 0.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Spawn Shape -
|
|
||||||
shape: point
|
|
||||||
- Spawn Width -
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 0.0
|
|
||||||
highMax: 0.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Spawn Height -
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 0.0
|
|
||||||
highMax: 0.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- X Scale -
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 32.0
|
|
||||||
highMax: 16.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 2
|
|
||||||
scaling0: 0.0
|
|
||||||
scaling1: 1.0
|
|
||||||
timelineCount: 2
|
|
||||||
timeline0: 0.0
|
|
||||||
timeline1: 1.0
|
|
||||||
- Y Scale -
|
|
||||||
active: false
|
|
||||||
- Velocity -
|
|
||||||
active: false
|
|
||||||
- Angle -
|
|
||||||
active: false
|
|
||||||
- Rotation -
|
|
||||||
active: true
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 0.0
|
|
||||||
highMax: 360.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 1
|
|
||||||
scaling0: 1.0
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Wind -
|
|
||||||
active: false
|
|
||||||
- Gravity -
|
|
||||||
active: false
|
|
||||||
- Tint -
|
|
||||||
colorsCount: 3
|
|
||||||
colors0: 1.0
|
|
||||||
colors1: 0.12156863
|
|
||||||
colors2: 0.047058824
|
|
||||||
timelineCount: 1
|
|
||||||
timeline0: 0.0
|
|
||||||
- Transparency -
|
|
||||||
lowMin: 0.0
|
|
||||||
lowMax: 0.0
|
|
||||||
highMin: 1.0
|
|
||||||
highMax: 1.0
|
|
||||||
relative: false
|
|
||||||
scalingCount: 2
|
|
||||||
scaling0: 1.0
|
|
||||||
scaling1: 0.0
|
|
||||||
timelineCount: 2
|
|
||||||
timeline0: 0.0
|
|
||||||
timeline1: 1.0
|
|
||||||
- Options -
|
|
||||||
attached: true
|
|
||||||
continuous: false
|
|
||||||
aligned: false
|
|
||||||
additive: true
|
|
||||||
behind: false
|
|
||||||
premultipliedAlpha: false
|
|
||||||
spriteMode: random
|
|
||||||
- Image Paths -
|
|
||||||
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
|
||||||
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
|
||||||
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
|
||||||
|
|
||||||
|
|
||||||
explosion
|
|
||||||
- Delay -
|
|
||||||
active: true
|
|
||||||
lowMin: 525.0
|
|
||||||
lowMax: 525.0
|
|
||||||
- Duration -
|
- Duration -
|
||||||
lowMin: 100.0
|
lowMin: 100.0
|
||||||
lowMax: 100.0
|
lowMax: 100.0
|
||||||
@@ -513,8 +395,8 @@ timeline0: 0.0
|
|||||||
- X Scale -
|
- X Scale -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 32.0
|
highMin: 64.0
|
||||||
highMax: 16.0
|
highMax: 48.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 2
|
scalingCount: 2
|
||||||
scaling0: 0.0
|
scaling0: 0.0
|
||||||
@@ -525,9 +407,27 @@ timeline1: 1.0
|
|||||||
- Y Scale -
|
- Y Scale -
|
||||||
active: false
|
active: false
|
||||||
- Velocity -
|
- Velocity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Angle -
|
- Angle -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 120.0
|
||||||
|
highMax: 120.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Rotation -
|
- Rotation -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
@@ -579,8 +479,8 @@ spriteMode: random
|
|||||||
explosion
|
explosion
|
||||||
- Delay -
|
- Delay -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 700.0
|
lowMin: 0.0
|
||||||
lowMax: 700.0
|
lowMax: 0.0
|
||||||
- Duration -
|
- Duration -
|
||||||
lowMin: 100.0
|
lowMin: 100.0
|
||||||
lowMax: 100.0
|
lowMax: 100.0
|
||||||
@@ -658,8 +558,8 @@ timeline0: 0.0
|
|||||||
- X Scale -
|
- X Scale -
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
lowMax: 0.0
|
lowMax: 0.0
|
||||||
highMin: 32.0
|
highMin: 64.0
|
||||||
highMax: 16.0
|
highMax: 48.0
|
||||||
relative: false
|
relative: false
|
||||||
scalingCount: 2
|
scalingCount: 2
|
||||||
scaling0: 0.0
|
scaling0: 0.0
|
||||||
@@ -670,9 +570,353 @@ timeline1: 1.0
|
|||||||
- Y Scale -
|
- Y Scale -
|
||||||
active: false
|
active: false
|
||||||
- Velocity -
|
- Velocity -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Angle -
|
- Angle -
|
||||||
active: false
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 180.0
|
||||||
|
highMax: 180.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -5.0
|
||||||
|
lowMax: -7.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 6.0
|
||||||
|
lowMax: 7.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 64.0
|
||||||
|
highMax: 48.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Angle -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 240.0
|
||||||
|
highMax: 240.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -3.0
|
||||||
|
lowMax: -7.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 5.0
|
||||||
|
lowMax: 4.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 64.0
|
||||||
|
highMax: 48.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 100.0
|
||||||
|
highMax: 100.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Angle -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 300.0
|
||||||
|
highMax: 300.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
- Rotation -
|
- Rotation -
|
||||||
active: true
|
active: true
|
||||||
lowMin: 0.0
|
lowMin: 0.0
|
||||||
|
|||||||
722
forge-gui/res/adventure/Shandalar/particle_effects/killed.p
Normal file
722
forge-gui/res/adventure/Shandalar/particle_effects/killed.p
Normal file
@@ -0,0 +1,722 @@
|
|||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: false
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -2.0
|
||||||
|
lowMax: 2.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -2.0
|
||||||
|
lowMax: 2.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 32.0
|
||||||
|
highMax: 16.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: false
|
||||||
|
- Angle -
|
||||||
|
active: false
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 175.0
|
||||||
|
lowMax: 175.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 6.0
|
||||||
|
lowMax: 8.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -2.0
|
||||||
|
lowMax: 2.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 32.0
|
||||||
|
highMax: 16.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: false
|
||||||
|
- Angle -
|
||||||
|
active: false
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 350.0
|
||||||
|
lowMax: 350.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -5.0
|
||||||
|
lowMax: -7.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 6.0
|
||||||
|
lowMax: 7.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 32.0
|
||||||
|
highMax: 16.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: false
|
||||||
|
- Angle -
|
||||||
|
active: false
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 525.0
|
||||||
|
lowMax: 525.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 6.0
|
||||||
|
lowMax: 9.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -6.0
|
||||||
|
lowMax: -9.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 32.0
|
||||||
|
highMax: 16.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: false
|
||||||
|
- Angle -
|
||||||
|
active: false
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
|
|
||||||
|
explosion
|
||||||
|
- Delay -
|
||||||
|
active: true
|
||||||
|
lowMin: 700.0
|
||||||
|
lowMax: 700.0
|
||||||
|
- Duration -
|
||||||
|
lowMin: 100.0
|
||||||
|
lowMax: 100.0
|
||||||
|
- Count -
|
||||||
|
min: 0
|
||||||
|
max: 200
|
||||||
|
- Emission -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 400.0
|
||||||
|
highMax: 400.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Life -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 500.0
|
||||||
|
highMax: 500.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
independent: false
|
||||||
|
- Life Offset -
|
||||||
|
active: false
|
||||||
|
independent: false
|
||||||
|
- X Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: -2.0
|
||||||
|
lowMax: 2.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Y Offset -
|
||||||
|
active: true
|
||||||
|
lowMin: 6.0
|
||||||
|
lowMax: 8.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Shape -
|
||||||
|
shape: point
|
||||||
|
- Spawn Width -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Spawn Height -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 0.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- X Scale -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 32.0
|
||||||
|
highMax: 16.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 0.0
|
||||||
|
scaling1: 1.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Y Scale -
|
||||||
|
active: false
|
||||||
|
- Velocity -
|
||||||
|
active: false
|
||||||
|
- Angle -
|
||||||
|
active: false
|
||||||
|
- Rotation -
|
||||||
|
active: true
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 0.0
|
||||||
|
highMax: 360.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 1
|
||||||
|
scaling0: 1.0
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Wind -
|
||||||
|
active: false
|
||||||
|
- Gravity -
|
||||||
|
active: false
|
||||||
|
- Tint -
|
||||||
|
colorsCount: 3
|
||||||
|
colors0: 1.0
|
||||||
|
colors1: 0.12156863
|
||||||
|
colors2: 0.047058824
|
||||||
|
timelineCount: 1
|
||||||
|
timeline0: 0.0
|
||||||
|
- Transparency -
|
||||||
|
lowMin: 0.0
|
||||||
|
lowMax: 0.0
|
||||||
|
highMin: 1.0
|
||||||
|
highMax: 1.0
|
||||||
|
relative: false
|
||||||
|
scalingCount: 2
|
||||||
|
scaling0: 1.0
|
||||||
|
scaling1: 0.0
|
||||||
|
timelineCount: 2
|
||||||
|
timeline0: 0.0
|
||||||
|
timeline1: 1.0
|
||||||
|
- Options -
|
||||||
|
attached: true
|
||||||
|
continuous: false
|
||||||
|
aligned: false
|
||||||
|
additive: true
|
||||||
|
behind: false
|
||||||
|
premultipliedAlpha: false
|
||||||
|
spriteMode: random
|
||||||
|
- Image Paths -
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-1.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-2.png
|
||||||
|
/E:/workspace/Particle Park/particles/images/explosion-3.png
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
info face="LanaPixel" size=-11 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=0 aa=1 padding=1,1,1,1 spacing=0,0 outline=0
|
info face="LanaPixel" size=11 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=0 aa=1 padding=1,1,1,1 spacing=0,0 outline=0
|
||||||
common lineHeight=13 base=10 scaleW=2948 scaleH=2048 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4
|
common lineHeight=13 base=10 scaleW=2948 scaleH=2048 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4
|
||||||
page id=0 file="LanaPixel.png"
|
page id=0 file="LanaPixel.png"
|
||||||
chars count=19516
|
chars count=19516
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
info face="MiKrollFantasyBig" size=12 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=2 padding=1,1,1,1 spacing=0,0
|
|
||||||
common lineHeight=28 base=21 scaleW=506 scaleH=39 pages=1 packed=0 alphaChnl=0 redChnl=0 greenChnl=0 blueChnl=0
|
|
||||||
page id=0 file="MiKrollFantasyBig.png"
|
|
||||||
chars count=97
|
|
||||||
char id=0 x=2 y=2 width=9 height=22 xoffset=0 yoffset=-1 xadvance=12 page=0 chnl=0
|
|
||||||
char id=32 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=-1 xadvance=10 page=0 chnl=0
|
|
||||||
char id=33 x=289 y=2 width=2 height=12 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=34 x=332 y=26 width=6 height=4 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=35 x=124 y=26 width=10 height=10 xoffset=-1 yoffset=11 xadvance=12 page=0 chnl=0
|
|
||||||
char id=36 x=129 y=2 width=8 height=12 xoffset=-1 yoffset=11 xadvance=10 page=0 chnl=0
|
|
||||||
char id=37 x=278 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=38 x=136 y=26 width=10 height=10 xoffset=-1 yoffset=11 xadvance=12 page=0 chnl=0
|
|
||||||
char id=39 x=344 y=26 width=2 height=4 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=40 x=37 y=2 width=4 height=14 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
|
||||||
char id=41 x=43 y=2 width=4 height=14 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
|
||||||
char id=42 x=288 y=26 width=6 height=6 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=43 x=296 y=26 width=6 height=6 xoffset=-1 yoffset=13 xadvance=8 page=0 chnl=0
|
|
||||||
char id=44 x=340 y=26 width=2 height=4 xoffset=-1 yoffset=19 xadvance=4 page=0 chnl=0
|
|
||||||
char id=45 x=366 y=26 width=4 height=2 xoffset=-1 yoffset=15 xadvance=6 page=0 chnl=0
|
|
||||||
char id=46 x=362 y=26 width=2 height=2 xoffset=-1 yoffset=19 xadvance=4 page=0 chnl=0
|
|
||||||
char id=47 x=77 y=2 width=6 height=14 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
|
||||||
char id=48 x=303 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=49 x=395 y=2 width=6 height=12 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=50 x=385 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=51 x=375 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=52 x=363 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=53 x=353 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=54 x=343 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=55 x=333 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=56 x=323 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=57 x=313 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=58 x=221 y=2 width=2 height=12 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=59 x=33 y=2 width=2 height=14 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=60 x=112 y=26 width=10 height=10 xoffset=-1 yoffset=11 xadvance=12 page=0 chnl=0
|
|
||||||
char id=61 x=304 y=26 width=6 height=6 xoffset=-1 yoffset=13 xadvance=8 page=0 chnl=0
|
|
||||||
char id=62 x=98 y=26 width=12 height=10 xoffset=-1 yoffset=11 xadvance=14 page=0 chnl=0
|
|
||||||
char id=63 x=267 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=64 x=85 y=2 width=14 height=14 xoffset=-1 yoffset=7 xadvance=16 page=0 chnl=0
|
|
||||||
char id=65 x=109 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=66 x=119 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=67 x=143 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=68 x=153 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=69 x=163 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=70 x=173 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=71 x=183 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=72 x=193 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=73 x=203 y=2 width=6 height=12 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=74 x=211 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=75 x=225 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=76 x=235 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=77 x=245 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=78 x=257 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=79 x=277 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=80 x=293 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=81 x=21 y=2 width=10 height=14 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=82 x=403 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=83 x=423 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=84 x=433 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=85 x=445 y=2 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=86 x=455 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=87 x=473 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=88 x=485 y=2 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=89 x=10 y=26 width=10 height=12 xoffset=-1 yoffset=9 xadvance=12 page=0 chnl=0
|
|
||||||
char id=90 x=22 y=26 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=91 x=49 y=2 width=4 height=14 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
|
||||||
char id=92 x=101 y=2 width=6 height=14 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
|
||||||
char id=93 x=55 y=2 width=4 height=14 xoffset=-1 yoffset=7 xadvance=6 page=0 chnl=0
|
|
||||||
char id=94 x=324 y=26 width=6 height=4 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=95 x=352 y=26 width=8 height=2 xoffset=-1 yoffset=19 xadvance=10 page=0 chnl=0
|
|
||||||
char id=96 x=348 y=26 width=2 height=4 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=97 x=250 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=98 x=32 y=26 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=99 x=270 y=26 width=6 height=8 xoffset=-1 yoffset=13 xadvance=8 page=0 chnl=0
|
|
||||||
char id=100 x=56 y=26 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=101 x=148 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=102 x=90 y=26 width=6 height=12 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=103 x=80 y=26 width=8 height=12 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=104 x=70 y=26 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=105 x=66 y=26 width=2 height=12 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=106 x=13 y=2 width=6 height=16 xoffset=-1 yoffset=9 xadvance=8 page=0 chnl=0
|
|
||||||
char id=107 x=46 y=26 width=8 height=12 xoffset=-1 yoffset=9 xadvance=10 page=0 chnl=0
|
|
||||||
char id=108 x=42 y=26 width=2 height=12 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=109 x=158 y=26 width=10 height=8 xoffset=-1 yoffset=13 xadvance=12 page=0 chnl=0
|
|
||||||
char id=110 x=170 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=111 x=180 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=112 x=0 y=26 width=8 height=12 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=113 x=497 y=2 width=8 height=12 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=114 x=190 y=26 width=6 height=8 xoffset=-1 yoffset=13 xadvance=8 page=0 chnl=0
|
|
||||||
char id=115 x=198 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=116 x=467 y=2 width=4 height=12 xoffset=-1 yoffset=9 xadvance=6 page=0 chnl=0
|
|
||||||
char id=117 x=208 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=118 x=218 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=119 x=228 y=26 width=10 height=8 xoffset=-1 yoffset=13 xadvance=12 page=0 chnl=0
|
|
||||||
char id=120 x=240 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=121 x=413 y=2 width=8 height=12 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=122 x=260 y=26 width=8 height=8 xoffset=-1 yoffset=13 xadvance=10 page=0 chnl=0
|
|
||||||
char id=123 x=61 y=2 width=6 height=14 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
|
||||||
char id=124 x=139 y=2 width=2 height=12 xoffset=-1 yoffset=9 xadvance=4 page=0 chnl=0
|
|
||||||
char id=125 x=69 y=2 width=6 height=14 xoffset=-1 yoffset=7 xadvance=8 page=0 chnl=0
|
|
||||||
char id=126 x=312 y=26 width=10 height=6 xoffset=-1 yoffset=13 xadvance=12 page=0 chnl=0
|
|
||||||
char id=160 x=0 y=0 width=0 height=0 xoffset=-1 yoffset=21 xadvance=10 page=0 chnl=0
|
|
||||||
kernings count=0
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
332
forge-gui/res/adventure/Shandalar/skin/font_img.atlas
Normal file
332
forge-gui/res/adventure/Shandalar/skin/font_img.atlas
Normal file
@@ -0,0 +1,332 @@
|
|||||||
|
|
||||||
|
ui_skin.png
|
||||||
|
size: 512, 512
|
||||||
|
format: RGBA8888
|
||||||
|
filter: Nearest, Nearest
|
||||||
|
repeat: none
|
||||||
|
BKey_3_14
|
||||||
|
rotate: false
|
||||||
|
xy: 253, 371
|
||||||
|
size: 32, 16
|
||||||
|
split: 6, 6, 9, 6
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 32, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
BKey_3_9
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 321
|
||||||
|
size: 32, 16
|
||||||
|
split: 5, 5, 6, 7
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 32, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
MiKrollFantasy
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 491
|
||||||
|
size: 506, 18
|
||||||
|
orig: 506, 18
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
MiKrollFantasy(1)
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 450
|
||||||
|
size: 506, 39
|
||||||
|
orig: 506, 39
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
MiKrollFantasy(2)
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 430
|
||||||
|
size: 506, 18
|
||||||
|
orig: 506, 18
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
MiKrollFantasy(3)
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 389
|
||||||
|
size: 506, 39
|
||||||
|
orig: 506, 39
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
9patch4
|
||||||
|
rotate: false
|
||||||
|
xy: 75, 137
|
||||||
|
size: 48, 48
|
||||||
|
split: 7, 7, 7, 7
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 48, 48
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
down
|
||||||
|
rotate: false
|
||||||
|
xy: 97, 119
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
down_down
|
||||||
|
rotate: false
|
||||||
|
xy: 125, 147
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
left
|
||||||
|
rotate: false
|
||||||
|
xy: 147, 169
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
left_down
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 281
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right
|
||||||
|
rotate: false
|
||||||
|
xy: 275, 353
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right_down
|
||||||
|
rotate: false
|
||||||
|
xy: 305, 371
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
up
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 19
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
up_down
|
||||||
|
rotate: false
|
||||||
|
xy: 51, 72
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
cursor
|
||||||
|
rotate: false
|
||||||
|
xy: 25, 58
|
||||||
|
size: 4, 3
|
||||||
|
split: 1, 1, 1, 1
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 4, 3
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
item_frame
|
||||||
|
rotate: false
|
||||||
|
xy: 75, 115
|
||||||
|
size: 20, 20
|
||||||
|
orig: 20, 20
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
item_frame_hover
|
||||||
|
rotate: false
|
||||||
|
xy: 125, 165
|
||||||
|
size: 20, 20
|
||||||
|
orig: 20, 20
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
item_frame_selected
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 299
|
||||||
|
size: 20, 20
|
||||||
|
orig: 20, 20
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
item_frame_selected_hover
|
||||||
|
rotate: false
|
||||||
|
xy: 253, 349
|
||||||
|
size: 20, 20
|
||||||
|
orig: 20, 20
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
select
|
||||||
|
rotate: false
|
||||||
|
xy: 509, 507
|
||||||
|
size: 2, 2
|
||||||
|
orig: 2, 2
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
bar
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 55
|
||||||
|
size: 22, 6
|
||||||
|
split: 2, 2, 2, 2
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 22, 6
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
barcontent
|
||||||
|
rotate: false
|
||||||
|
xy: 51, 108
|
||||||
|
size: 20, 3
|
||||||
|
split: 0, 0, 0, 0
|
||||||
|
orig: 20, 3
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
check
|
||||||
|
rotate: false
|
||||||
|
xy: 115, 127
|
||||||
|
size: 8, 8
|
||||||
|
orig: 8, 8
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
map
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 63
|
||||||
|
size: 48, 48
|
||||||
|
split: 17, 16, 13, 11
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 48, 48
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
pressed
|
||||||
|
rotate: false
|
||||||
|
xy: 253, 331
|
||||||
|
size: 14, 16
|
||||||
|
split: 4, 4, 6, 5
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 14, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
pressedMap
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 37
|
||||||
|
size: 16, 16
|
||||||
|
split: 6, 6, 4, 3
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
pressedround
|
||||||
|
rotate: false
|
||||||
|
xy: 293, 354
|
||||||
|
size: 12, 15
|
||||||
|
split: 4, 4, 7, 5
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 12, 15
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
scroll
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 2
|
||||||
|
size: 6, 15
|
||||||
|
split: 2, 2, 3, 4
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 6, 15
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
scroll2
|
||||||
|
rotate: false
|
||||||
|
xy: 225, 312
|
||||||
|
size: 14, 7
|
||||||
|
split: 3, 3, 2, 3
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 14, 7
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
thinwindow
|
||||||
|
rotate: false
|
||||||
|
xy: 51, 90
|
||||||
|
size: 16, 16
|
||||||
|
split: 2, 2, 2, 2
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
uncheck
|
||||||
|
rotate: false
|
||||||
|
xy: 125, 137
|
||||||
|
size: 8, 8
|
||||||
|
orig: 8, 8
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
unpressed
|
||||||
|
rotate: false
|
||||||
|
xy: 237, 321
|
||||||
|
size: 14, 16
|
||||||
|
split: 4, 4, 4, 7
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 14, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
unpressed-disable
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 263
|
||||||
|
size: 14, 16
|
||||||
|
split: 3, 3, 3, 6
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 14, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
unpressed-hover
|
||||||
|
rotate: false
|
||||||
|
xy: 165, 169
|
||||||
|
size: 14, 16
|
||||||
|
split: 3, 3, 3, 6
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 14, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
unpressedMap
|
||||||
|
rotate: false
|
||||||
|
xy: 287, 371
|
||||||
|
size: 16, 16
|
||||||
|
split: 6, 6, 3, 4
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
unpressedround
|
||||||
|
rotate: false
|
||||||
|
xy: 323, 372
|
||||||
|
size: 12, 15
|
||||||
|
split: 4, 4, 5, 7
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 12, 15
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
windowMain
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 339
|
||||||
|
size: 48, 48
|
||||||
|
split: 6, 6, 6, 6
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
orig: 48, 48
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
touchBackground
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 187
|
||||||
|
size: 200, 200
|
||||||
|
orig: 200, 200
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
touchKnob
|
||||||
|
rotate: false
|
||||||
|
xy: 1, 113
|
||||||
|
size: 72, 72
|
||||||
|
orig: 72, 72
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
dummy
|
||||||
|
rotate: false
|
||||||
|
xy: 0, 360
|
||||||
|
size: 5,5
|
||||||
|
orig: 1,1
|
||||||
|
split: 1, 1, 1, 1
|
||||||
|
pad: 0, 0, 0, 0
|
||||||
|
offset: 0,0
|
||||||
|
index:-1
|
||||||
BIN
forge-gui/res/adventure/Shandalar/skin/font_img.png
Normal file
BIN
forge-gui/res/adventure/Shandalar/skin/font_img.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@@ -4,9 +4,16 @@ size: 512, 512
|
|||||||
format: RGBA8888
|
format: RGBA8888
|
||||||
filter: Nearest, Nearest
|
filter: Nearest, Nearest
|
||||||
repeat: none
|
repeat: none
|
||||||
|
white-pixel
|
||||||
|
rotate: false
|
||||||
|
xy: 221, 326
|
||||||
|
size: 1, 1
|
||||||
|
orig: 1, 1
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
BKey_3_14
|
BKey_3_14
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 371
|
xy: 125, 214
|
||||||
size: 32, 16
|
size: 32, 16
|
||||||
split: 6, 6, 9, 6
|
split: 6, 6, 9, 6
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -15,44 +22,37 @@ BKey_3_14
|
|||||||
index: -1
|
index: -1
|
||||||
BKey_3_9
|
BKey_3_9
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 321
|
xy: 75, 164
|
||||||
size: 32, 16
|
size: 32, 16
|
||||||
split: 5, 5, 6, 7
|
split: 5, 5, 6, 7
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
orig: 32, 16
|
orig: 32, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MiKrollFantasy
|
9patch17
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 491
|
xy: 253, 384
|
||||||
size: 506, 18
|
size: 48, 48
|
||||||
orig: 506, 18
|
orig: 48, 48
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MiKrollFantasy(1)
|
9patch17_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 450
|
xy: 203, 334
|
||||||
size: 506, 39
|
size: 48, 48
|
||||||
orig: 506, 39
|
orig: 48, 48
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
MiKrollFantasy(2)
|
9patch17_h
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 430
|
xy: 1, 58
|
||||||
size: 506, 18
|
size: 48, 48
|
||||||
orig: 506, 18
|
orig: 48, 48
|
||||||
offset: 0, 0
|
|
||||||
index: -1
|
|
||||||
MiKrollFantasy(3)
|
|
||||||
rotate: false
|
|
||||||
xy: 1, 389
|
|
||||||
size: 506, 39
|
|
||||||
orig: 506, 39
|
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
9patch4
|
9patch4
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 75, 137
|
xy: 75, 182
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
split: 7, 7, 7, 7
|
split: 7, 7, 7, 7
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -61,63 +61,63 @@ MiKrollFantasy(3)
|
|||||||
index: -1
|
index: -1
|
||||||
down
|
down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 97, 119
|
xy: 253, 344
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
down_down
|
down_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 125, 147
|
xy: 275, 366
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
left
|
left
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 147, 169
|
xy: 303, 394
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
left_down
|
left_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 281
|
xy: 325, 416
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right
|
right
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 275, 353
|
xy: 1, 18
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
right_down
|
right_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 305, 371
|
xy: 23, 40
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
up
|
up
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 19
|
xy: 147, 196
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
up_down
|
up_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 51, 72
|
xy: 177, 214
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
orig: 16, 16
|
orig: 16, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
cursor
|
cursor
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 25, 58
|
xy: 225, 329
|
||||||
size: 4, 3
|
size: 4, 3
|
||||||
split: 1, 1, 1, 1
|
split: 1, 1, 1, 1
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -126,42 +126,42 @@ cursor
|
|||||||
index: -1
|
index: -1
|
||||||
item_frame
|
item_frame
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 75, 115
|
xy: 253, 362
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
item_frame_hover
|
item_frame_hover
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 125, 165
|
xy: 303, 412
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
item_frame_selected
|
item_frame_selected
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 299
|
xy: 1, 36
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
item_frame_selected_hover
|
item_frame_selected_hover
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 349
|
xy: 125, 192
|
||||||
size: 20, 20
|
size: 20, 20
|
||||||
orig: 20, 20
|
orig: 20, 20
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
select
|
select
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 509, 507
|
xy: 69, 146
|
||||||
size: 2, 2
|
size: 2, 2
|
||||||
orig: 2, 2
|
orig: 2, 2
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
bar
|
bar
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 55
|
xy: 51, 150
|
||||||
size: 22, 6
|
size: 22, 6
|
||||||
split: 2, 2, 2, 2
|
split: 2, 2, 2, 2
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -170,7 +170,7 @@ bar
|
|||||||
index: -1
|
index: -1
|
||||||
barcontent
|
barcontent
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 51, 108
|
xy: 203, 329
|
||||||
size: 20, 3
|
size: 20, 3
|
||||||
split: 0, 0, 0, 0
|
split: 0, 0, 0, 0
|
||||||
orig: 20, 3
|
orig: 20, 3
|
||||||
@@ -178,14 +178,14 @@ barcontent
|
|||||||
index: -1
|
index: -1
|
||||||
check
|
check
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 115, 127
|
xy: 253, 334
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
map
|
map
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 63
|
xy: 1, 108
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
split: 17, 16, 13, 11
|
split: 17, 16, 13, 11
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -194,7 +194,7 @@ map
|
|||||||
index: -1
|
index: -1
|
||||||
pressed
|
pressed
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 331
|
xy: 125, 174
|
||||||
size: 14, 16
|
size: 14, 16
|
||||||
split: 4, 4, 6, 5
|
split: 4, 4, 6, 5
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -203,7 +203,7 @@ pressed
|
|||||||
index: -1
|
index: -1
|
||||||
pressedMap
|
pressedMap
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 37
|
xy: 51, 132
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
split: 6, 6, 4, 3
|
split: 6, 6, 4, 3
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -212,7 +212,7 @@ pressedMap
|
|||||||
index: -1
|
index: -1
|
||||||
pressedround
|
pressedround
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 293, 354
|
xy: 343, 417
|
||||||
size: 12, 15
|
size: 12, 15
|
||||||
split: 4, 4, 7, 5
|
split: 4, 4, 7, 5
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -221,7 +221,7 @@ pressedround
|
|||||||
index: -1
|
index: -1
|
||||||
scroll
|
scroll
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 2
|
xy: 303, 377
|
||||||
size: 6, 15
|
size: 6, 15
|
||||||
split: 2, 2, 3, 4
|
split: 2, 2, 3, 4
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -230,7 +230,7 @@ scroll
|
|||||||
index: -1
|
index: -1
|
||||||
scroll2
|
scroll2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 225, 312
|
xy: 75, 155
|
||||||
size: 14, 7
|
size: 14, 7
|
||||||
split: 3, 3, 2, 3
|
split: 3, 3, 2, 3
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -239,7 +239,7 @@ scroll2
|
|||||||
index: -1
|
index: -1
|
||||||
thinwindow
|
thinwindow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 51, 90
|
xy: 203, 311
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
split: 2, 2, 2, 2
|
split: 2, 2, 2, 2
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -248,14 +248,14 @@ thinwindow
|
|||||||
index: -1
|
index: -1
|
||||||
uncheck
|
uncheck
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 125, 137
|
xy: 293, 374
|
||||||
size: 8, 8
|
size: 8, 8
|
||||||
orig: 8, 8
|
orig: 8, 8
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
unpressed
|
unpressed
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 237, 321
|
xy: 109, 164
|
||||||
size: 14, 16
|
size: 14, 16
|
||||||
split: 4, 4, 4, 7
|
split: 4, 4, 4, 7
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -264,7 +264,7 @@ unpressed
|
|||||||
index: -1
|
index: -1
|
||||||
unpressed-disable
|
unpressed-disable
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 263
|
xy: 203, 293
|
||||||
size: 14, 16
|
size: 14, 16
|
||||||
split: 3, 3, 3, 6
|
split: 3, 3, 3, 6
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -273,7 +273,7 @@ unpressed-disable
|
|||||||
index: -1
|
index: -1
|
||||||
unpressed-hover
|
unpressed-hover
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 165, 169
|
xy: 51, 114
|
||||||
size: 14, 16
|
size: 14, 16
|
||||||
split: 3, 3, 3, 6
|
split: 3, 3, 3, 6
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -282,7 +282,7 @@ unpressed-hover
|
|||||||
index: -1
|
index: -1
|
||||||
unpressedMap
|
unpressedMap
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 287, 371
|
xy: 159, 214
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
split: 6, 6, 3, 4
|
split: 6, 6, 3, 4
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -291,7 +291,7 @@ unpressedMap
|
|||||||
index: -1
|
index: -1
|
||||||
unpressedround
|
unpressedround
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 323, 372
|
xy: 1, 1
|
||||||
size: 12, 15
|
size: 12, 15
|
||||||
split: 4, 4, 5, 7
|
split: 4, 4, 5, 7
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -300,7 +300,7 @@ unpressedround
|
|||||||
index: -1
|
index: -1
|
||||||
windowMain
|
windowMain
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 339
|
xy: 203, 384
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
split: 6, 6, 6, 6
|
split: 6, 6, 6, 6
|
||||||
pad: 0, 0, 0, 0
|
pad: 0, 0, 0, 0
|
||||||
@@ -309,24 +309,15 @@ windowMain
|
|||||||
index: -1
|
index: -1
|
||||||
touchBackground
|
touchBackground
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 187
|
xy: 1, 232
|
||||||
size: 200, 200
|
size: 200, 200
|
||||||
orig: 200, 200
|
orig: 200, 200
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
touchKnob
|
touchKnob
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 113
|
xy: 1, 158
|
||||||
size: 72, 72
|
size: 72, 72
|
||||||
orig: 72, 72
|
orig: 72, 72
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
dummy
|
|
||||||
rotate: false
|
|
||||||
xy: 0, 360
|
|
||||||
size: 5,5
|
|
||||||
orig: 1,1
|
|
||||||
split: 1, 1, 1, 1
|
|
||||||
pad: 0, 0, 0, 0
|
|
||||||
offset: 0,0
|
|
||||||
index:-1
|
|
||||||
|
|||||||
@@ -1,36 +1,27 @@
|
|||||||
{
|
{
|
||||||
"com.badlogic.gdx.graphics.g2d.BitmapFont": {
|
"BitmapFont": {
|
||||||
"big": {
|
|
||||||
"file": "LanaPixel.fnt"
|
|
||||||
},
|
|
||||||
"black": {
|
|
||||||
"file": "LanaPixel.fnt"
|
|
||||||
},
|
|
||||||
"blackbig": {
|
|
||||||
"file": "LanaPixel.fnt"
|
|
||||||
},
|
|
||||||
"default": {
|
"default": {
|
||||||
"file": "LanaPixel.fnt"
|
"file": "LanaPixel.fnt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.graphics.Color": {
|
"Color": {
|
||||||
|
"RGBA_0_0_0_0": {
|
||||||
|
"hex": "00000000"
|
||||||
|
},
|
||||||
"RGBA_0_0_0_255": {
|
"RGBA_0_0_0_255": {
|
||||||
"r": 0,
|
"hex": "000000ff"
|
||||||
"g": 0,
|
|
||||||
"b": 0,
|
|
||||||
"a": 1
|
|
||||||
},
|
},
|
||||||
"RGBA_0_216_255_255": {
|
"RGBA_0_216_255_255": {
|
||||||
"r": 0,
|
"hex": "00d8ffff"
|
||||||
"g": 0.848778,
|
},
|
||||||
"b": 1,
|
"RGBA_204_200_200_255": {
|
||||||
"a": 1
|
"hex": "ccc8c8ff"
|
||||||
},
|
},
|
||||||
"RGBA_255_255_255_255": {
|
"RGBA_255_255_255_255": {
|
||||||
"r": 1,
|
"hex": "ffffffff"
|
||||||
"g": 1,
|
},
|
||||||
"b": 1,
|
"RGBA_38_23_3_50": {
|
||||||
"a": 1
|
"hex": "b06a0e5a"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable": {
|
"com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable": {
|
||||||
@@ -40,6 +31,20 @@
|
|||||||
"minHeight": 40
|
"minHeight": 40
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"TintedDrawable": {
|
||||||
|
"clear": {
|
||||||
|
"name": "white-pixel",
|
||||||
|
"color": "RGBA_255_255_255_255"
|
||||||
|
},
|
||||||
|
"transparent": {
|
||||||
|
"name": "white-pixel",
|
||||||
|
"color": "RGBA_0_0_0_0"
|
||||||
|
},
|
||||||
|
"background": {
|
||||||
|
"name": "white-pixel",
|
||||||
|
"color": "RGBA_38_23_3_50"
|
||||||
|
}
|
||||||
|
},
|
||||||
"com.ray3k.tenpatch.TenPatchDrawable": {
|
"com.ray3k.tenpatch.TenPatchDrawable": {
|
||||||
"paper10Patch": {
|
"paper10Patch": {
|
||||||
"region": "map",
|
"region": "map",
|
||||||
@@ -58,7 +63,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"TenPatchGold": {
|
"TenPatchGold": {
|
||||||
"region": "9patch4",
|
"region": "9patch4",
|
||||||
@@ -77,7 +83,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"windowMain10Patch": {
|
"windowMain10Patch": {
|
||||||
"region": "windowMain",
|
"region": "windowMain",
|
||||||
@@ -96,7 +103,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"unpressed-hover10patch": {
|
"unpressed-hover10patch": {
|
||||||
"region": "unpressed-hover",
|
"region": "unpressed-hover",
|
||||||
@@ -105,17 +113,18 @@
|
|||||||
"tiling": true,
|
"tiling": true,
|
||||||
"minWidth": 14,
|
"minWidth": 14,
|
||||||
"minHeight": 16,
|
"minHeight": 16,
|
||||||
"rightWidth": 4,
|
"rightWidth": 5,
|
||||||
"leftWidth": 4,
|
"leftWidth": 5,
|
||||||
"bottomHeight": 7,
|
"bottomHeight": 8,
|
||||||
"topHeight": 4,
|
"topHeight": 5,
|
||||||
"offsetX": 0,
|
"offsetX": 0,
|
||||||
"offsetY": 0,
|
"offsetY": 0,
|
||||||
"offsetXspeed": 0,
|
"offsetXspeed": 0,
|
||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"unpressed-disable10Patch": {
|
"unpressed-disable10Patch": {
|
||||||
"region": "unpressed-disable",
|
"region": "unpressed-disable",
|
||||||
@@ -134,7 +143,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"thinwindow10Patch": {
|
"thinwindow10Patch": {
|
||||||
"region": "thinwindow",
|
"region": "thinwindow",
|
||||||
@@ -153,7 +163,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"pressed10Patch": {
|
"pressed10Patch": {
|
||||||
"region": "pressed",
|
"region": "pressed",
|
||||||
@@ -162,17 +173,18 @@
|
|||||||
"tiling": true,
|
"tiling": true,
|
||||||
"minWidth": 14,
|
"minWidth": 14,
|
||||||
"minHeight": 16,
|
"minHeight": 16,
|
||||||
"rightWidth": 4,
|
"rightWidth": 5,
|
||||||
"leftWidth": 4,
|
"leftWidth": 5,
|
||||||
"bottomHeight": 5,
|
"bottomHeight": 6,
|
||||||
"topHeight": 6,
|
"topHeight": 7,
|
||||||
"offsetX": 0,
|
"offsetX": 0,
|
||||||
"offsetY": 0,
|
"offsetY": 0,
|
||||||
"offsetXspeed": 0,
|
"offsetXspeed": 0,
|
||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"pressedMap10Patch": {
|
"pressedMap10Patch": {
|
||||||
"region": "pressedMap",
|
"region": "pressedMap",
|
||||||
@@ -191,7 +203,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"goldpressed10Patch": {
|
"goldpressed10Patch": {
|
||||||
"region": "BKey_3_14",
|
"region": "BKey_3_14",
|
||||||
@@ -210,7 +223,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"unpressedgold10patch": {
|
"unpressedgold10patch": {
|
||||||
"region": "BKey_3_9",
|
"region": "BKey_3_9",
|
||||||
@@ -229,7 +243,8 @@
|
|||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"unpressed10patch": {
|
"unpressed10patch": {
|
||||||
"region": "unpressed",
|
"region": "unpressed",
|
||||||
@@ -238,39 +253,81 @@
|
|||||||
"tiling": true,
|
"tiling": true,
|
||||||
"minWidth": 14,
|
"minWidth": 14,
|
||||||
"minHeight": 16,
|
"minHeight": 16,
|
||||||
"rightWidth": 4,
|
"rightWidth": 5,
|
||||||
"leftWidth": 4,
|
"leftWidth": 5,
|
||||||
"bottomHeight": 7,
|
"bottomHeight": 8,
|
||||||
"topHeight": 4,
|
"topHeight": 5,
|
||||||
"offsetX": 0,
|
"offsetX": 0,
|
||||||
"offsetY": 0,
|
"offsetY": 0,
|
||||||
"offsetXspeed": 0,
|
"offsetXspeed": 0,
|
||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
},
|
},
|
||||||
"dummy": {
|
"Button10Patch": {
|
||||||
"region": "dummy",
|
"region": "9patch17",
|
||||||
"horizontalStretchAreas": [ 1, 1 ],
|
"horizontalStretchAreas": [ 13, 20, 26, 36 ],
|
||||||
"verticalStretchAreas": [ 1, 1 ],
|
"verticalStretchAreas": [ 14, 21, 26, 37 ],
|
||||||
"tiling": true,
|
"tiling": false,
|
||||||
"minWidth": 5,
|
"minWidth": 48,
|
||||||
"minHeight": 5,
|
"minHeight": 48,
|
||||||
"rightWidth": 0,
|
"rightWidth": 8,
|
||||||
"leftWidth": 0,
|
"leftWidth": 8,
|
||||||
"bottomHeight": 0,
|
"bottomHeight": 8,
|
||||||
"topHeight": 0,
|
"topHeight": 8,
|
||||||
"offsetX": 0,
|
"offsetX": 0,
|
||||||
"offsetY": 0,
|
"offsetY": 0,
|
||||||
"offsetXspeed": 0,
|
"offsetXspeed": 0,
|
||||||
"offsetYspeed": 0,
|
"offsetYspeed": 0,
|
||||||
"frameDuration": 0.03,
|
"frameDuration": 0.03,
|
||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
|
},
|
||||||
|
"button_down_10patch": {
|
||||||
|
"region": "9patch17_down",
|
||||||
|
"horizontalStretchAreas": [ 13, 20, 26, 36 ],
|
||||||
|
"verticalStretchAreas": [ 14, 21, 26, 40 ],
|
||||||
|
"tiling": false,
|
||||||
|
"minWidth": 48,
|
||||||
|
"minHeight": 48,
|
||||||
|
"rightWidth": 8,
|
||||||
|
"leftWidth": 8,
|
||||||
|
"bottomHeight": 8,
|
||||||
|
"topHeight": 8,
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"offsetXspeed": 0,
|
||||||
|
"offsetYspeed": 0,
|
||||||
|
"frameDuration": 0.03,
|
||||||
|
"regions": [],
|
||||||
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
|
},
|
||||||
|
"button_hover_10Patch": {
|
||||||
|
"region": "9patch17_h",
|
||||||
|
"horizontalStretchAreas": [ 13, 20, 26, 36 ],
|
||||||
|
"verticalStretchAreas": [ 14, 21, 26, 41 ],
|
||||||
|
"tiling": false,
|
||||||
|
"minWidth": 48,
|
||||||
|
"minHeight": 48,
|
||||||
|
"rightWidth": 8,
|
||||||
|
"leftWidth": 8,
|
||||||
|
"bottomHeight": 8,
|
||||||
|
"topHeight": 8,
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"offsetXspeed": 0,
|
||||||
|
"offsetYspeed": 0,
|
||||||
|
"frameDuration": 0.03,
|
||||||
|
"regions": [],
|
||||||
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle": {
|
"ButtonStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"up": "unpressed10patch",
|
"up": "unpressed10patch",
|
||||||
"down": "pressed10Patch",
|
"down": "pressed10Patch",
|
||||||
@@ -289,14 +346,14 @@
|
|||||||
"over": "BKey_3_9"
|
"over": "BKey_3_9"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle": {
|
"CheckBoxStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"checkboxOn": "check",
|
"checkboxOn": "check",
|
||||||
"checkboxOff": "uncheck",
|
"checkboxOff": "uncheck",
|
||||||
"font": "default"
|
"font": "default"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.ImageButton$ImageButtonStyle": {
|
"ImageButtonStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"imageUp": "unpressed10patch",
|
"imageUp": "unpressed10patch",
|
||||||
"imageDown": "pressed10Patch"
|
"imageDown": "pressed10Patch"
|
||||||
@@ -316,30 +373,21 @@
|
|||||||
"imageCheckedOver": "item_frame_selected_hover"
|
"imageCheckedOver": "item_frame_selected_hover"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.ImageTextButton$ImageTextButtonStyle": {
|
"ImageTextButtonStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"font": "default"
|
"font": "default"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle": {
|
"LabelStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"font": "default"
|
"font": "default"
|
||||||
},
|
},
|
||||||
"big": {
|
"background": {
|
||||||
"parent": "default",
|
"parent": "default",
|
||||||
"font": "default"
|
"background": "background"
|
||||||
},
|
|
||||||
"white": {
|
|
||||||
"font": "default"
|
|
||||||
},
|
|
||||||
"whiteBig": {
|
|
||||||
"font": "default"
|
|
||||||
}
|
|
||||||
"nobg": {
|
|
||||||
"font": "black"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle": {
|
"ListStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"font": "default",
|
"font": "default",
|
||||||
"fontColorSelected": "RGBA_0_216_255_255",
|
"fontColorSelected": "RGBA_0_216_255_255",
|
||||||
@@ -348,7 +396,7 @@
|
|||||||
"background": "thinwindow10Patch"
|
"background": "thinwindow10Patch"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.ProgressBar$ProgressBarStyle": {
|
"ProgressBarStyle": {
|
||||||
"default-horizontal": {
|
"default-horizontal": {
|
||||||
"background": "bar",
|
"background": "bar",
|
||||||
"knob": "scroll"
|
"knob": "scroll"
|
||||||
@@ -358,7 +406,7 @@
|
|||||||
"knob": "scroll2"
|
"knob": "scroll2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle": {
|
"ScrollPaneStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"background": "windowMain10Patch"
|
"background": "windowMain10Patch"
|
||||||
},
|
},
|
||||||
@@ -369,21 +417,20 @@
|
|||||||
"background": "9patch4"
|
"background": "9patch4"
|
||||||
},
|
},
|
||||||
"nobg": {
|
"nobg": {
|
||||||
"background": "dummy",
|
"background": "transparent"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle": {
|
"SelectBoxStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"font": "default",
|
"font": "default",
|
||||||
"fontColor": "RGBA_255_255_255_255",
|
"fontColor": "RGBA_255_255_255_255",
|
||||||
"overFontColor": "RGBA_0_216_255_255",
|
"overFontColor": "RGBA_0_216_255_255",
|
||||||
"disabledFontColor": "RGBA_255_255_255_255",
|
"disabledFontColor": "RGBA_255_255_255_255",
|
||||||
"scrollStyle": "default",
|
"scrollStyle": "default",
|
||||||
"listStyle": "default",
|
"listStyle": "default"
|
||||||
"background": "unpressed10patch"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle": {
|
"SliderStyle": {
|
||||||
"default-horizontal": {
|
"default-horizontal": {
|
||||||
"background": "thinwindow10Patch",
|
"background": "thinwindow10Patch",
|
||||||
"knob": "scroll"
|
"knob": "scroll"
|
||||||
@@ -393,7 +440,7 @@
|
|||||||
"knob": "scroll2"
|
"knob": "scroll2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle": {
|
"SplitPaneStyle": {
|
||||||
"default-horizontal": {
|
"default-horizontal": {
|
||||||
"handle": "scroll2"
|
"handle": "scroll2"
|
||||||
},
|
},
|
||||||
@@ -401,7 +448,7 @@
|
|||||||
"handle": "scroll"
|
"handle": "scroll"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle": {
|
"TextButtonStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"parent": "default",
|
"parent": "default",
|
||||||
"font": "default",
|
"font": "default",
|
||||||
@@ -425,9 +472,16 @@
|
|||||||
"pressedOffsetY": -3,
|
"pressedOffsetY": -3,
|
||||||
"unpressedOffsetX": 6,
|
"unpressedOffsetX": 6,
|
||||||
"checkedOffsetX": 6
|
"checkedOffsetX": 6
|
||||||
|
},
|
||||||
|
"menu": {
|
||||||
|
"font": "default",
|
||||||
|
"up": "Button10Patch",
|
||||||
|
"down": "button_down_10patch",
|
||||||
|
"over": "button_hover_10Patch",
|
||||||
|
"pressedOffsetY": -2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle": {
|
"TextFieldStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"font": "default",
|
"font": "default",
|
||||||
"fontColor": "RGBA_255_255_255_255",
|
"fontColor": "RGBA_255_255_255_255",
|
||||||
@@ -437,19 +491,24 @@
|
|||||||
"selection": "select"
|
"selection": "select"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Touchpad$TouchpadStyle": {
|
"TextTooltipStyle": {
|
||||||
|
"default": {
|
||||||
|
"label": "default"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"TouchpadStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"background": "touchBackground",
|
"background": "touchBackground",
|
||||||
"knob": "touchKnob"
|
"knob": "touchKnob"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Tree$TreeStyle": {
|
"TreeStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"plus": "unpressed",
|
"plus": "unpressed",
|
||||||
"minus": "pressed"
|
"minus": "pressed"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle": {
|
"WindowStyle": {
|
||||||
"default": {
|
"default": {
|
||||||
"background": "windowMain10Patch",
|
"background": "windowMain10Patch",
|
||||||
"titleFont": "default",
|
"titleFont": "default",
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 17 KiB |
@@ -3,6 +3,24 @@ size: 480,1008
|
|||||||
format: RGBA8888
|
format: RGBA8888
|
||||||
filter: Nearest,Nearest
|
filter: Nearest,Nearest
|
||||||
repeat: none
|
repeat: none
|
||||||
|
c
|
||||||
|
xy: 368,80
|
||||||
|
size: 16, 16
|
||||||
|
b
|
||||||
|
xy: 384,80
|
||||||
|
size: 16, 16
|
||||||
|
r
|
||||||
|
xy: 368,96
|
||||||
|
size: 16, 16
|
||||||
|
g
|
||||||
|
xy: 384,96
|
||||||
|
size: 16, 16
|
||||||
|
u
|
||||||
|
xy: 368,112
|
||||||
|
size: 16, 16
|
||||||
|
w
|
||||||
|
xy: 384,112
|
||||||
|
size: 16, 16
|
||||||
CardBack
|
CardBack
|
||||||
xy: 0, 0
|
xy: 0, 0
|
||||||
size: 48, 64
|
size: 48, 64
|
||||||
@@ -13,7 +31,19 @@ Life
|
|||||||
xy: 48, 16
|
xy: 48, 16
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
Mana
|
Mana
|
||||||
xy: 192, 912
|
xy: 48, 32
|
||||||
|
size: 16, 16
|
||||||
|
Deck
|
||||||
|
xy: 48, 48
|
||||||
|
size: 16, 16
|
||||||
|
Item
|
||||||
|
xy: 0, 64
|
||||||
|
size: 16, 16
|
||||||
|
Status
|
||||||
|
xy: 16, 64
|
||||||
|
size: 16, 16
|
||||||
|
Menu
|
||||||
|
xy: 32, 64
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
SolRing
|
SolRing
|
||||||
xy: 320, 144
|
xy: 320, 144
|
||||||
@@ -171,7 +201,7 @@ Blood
|
|||||||
Cheese
|
Cheese
|
||||||
xy: 80, 768
|
xy: 80, 768
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
Gold
|
GoldStack
|
||||||
xy: 208, 816
|
xy: 208, 816
|
||||||
size: 16, 16
|
size: 16, 16
|
||||||
Treasure
|
Treasure
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 275 KiB |
@@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
@@ -28,8 +28,8 @@
|
|||||||
} ,
|
} ,
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
|
"style":"background",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 380,
|
"x": 380,
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "Start",
|
"text": "tr(lblBattle)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 430,
|
"x": 430,
|
||||||
|
|||||||
@@ -28,8 +28,8 @@
|
|||||||
} ,
|
} ,
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
|
"style":"background",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 65,
|
"x": 65,
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "Start",
|
"text": "tr(lblBattle)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 125,
|
"x": 125,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 365,
|
"x": 365,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "rename",
|
"name": "rename",
|
||||||
"text": "Rename Deck",
|
"text": "tr(lblRename)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 365,
|
"x": 365,
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "edit",
|
"name": "edit",
|
||||||
"text": "Edit Deck",
|
"text": "tr(lblEdit)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 365,
|
"x": 365,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 4,
|
"x": 4,
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "rename",
|
"name": "rename",
|
||||||
"text": "Rename Deck",
|
"text": "tr(lblRename)",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 92,
|
"x": 92,
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "edit",
|
"name": "edit",
|
||||||
"text": "Edit Deck",
|
"text": "tr(lblEdit)",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 180,
|
"x": 180,
|
||||||
|
|||||||
@@ -85,7 +85,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"text": "Deck",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Deck]",
|
||||||
"width": 40,
|
"width": 40,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 428,
|
||||||
@@ -94,7 +95,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"text": "Inventory",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Item]",
|
||||||
"width": 40,
|
"width": 40,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 428,
|
||||||
@@ -104,7 +106,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"text": "Status",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Status]",
|
||||||
"width": 40,
|
"width": 40,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 428,
|
||||||
@@ -113,7 +116,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "menu",
|
"name": "menu",
|
||||||
"text": "Menu",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Menu]",
|
||||||
"width": 40,
|
"width": 40,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 428,
|
||||||
|
|||||||
@@ -76,7 +76,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"text": "Deck",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Deck]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -85,7 +86,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"text": "Inventory",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Item]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -95,7 +97,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"text": "Status",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Status]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -104,7 +107,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "menu",
|
"name": "menu",
|
||||||
"text": "Menu",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Menu]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
|
|||||||
@@ -60,7 +60,6 @@
|
|||||||
"name": "lifePoints",
|
"name": "lifePoints",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"fontSize": 1,
|
|
||||||
"x": 234,
|
"x": 234,
|
||||||
"y": 64
|
"y": 64
|
||||||
},
|
},
|
||||||
@@ -70,7 +69,6 @@
|
|||||||
"font": "default",
|
"font": "default",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 3,
|
"height": 3,
|
||||||
"fontSize": 1,
|
|
||||||
"x": 234,
|
"x": 234,
|
||||||
"y": 85
|
"y": 85
|
||||||
},
|
},
|
||||||
@@ -80,14 +78,14 @@
|
|||||||
"font": "default",
|
"font": "default",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 3,
|
"height": 3,
|
||||||
"fontSize": 1,
|
|
||||||
"x": 234,
|
"x": 234,
|
||||||
"y": 104
|
"y": 104
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"text": "Deck",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Deck]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -96,7 +94,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"text": "Inventory",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Item]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -106,7 +105,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"text": "Status",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Status]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -115,7 +115,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "menu",
|
"name": "menu",
|
||||||
"text": "Menu",
|
"style":"menu",
|
||||||
|
"text": "{Scale=200%}[+Menu]",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "tempHitPoints",
|
"name": "tempHitPoints",
|
||||||
|
"text": "tr(lblTempHitPoints)",
|
||||||
"font": "default",
|
"font": "default",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "sell",
|
"name": "sell",
|
||||||
"text": "Sell cards",
|
"text": "tr(lblSell)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 190,
|
"x": 190,
|
||||||
@@ -66,7 +67,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Leave",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 320,
|
"x": 320,
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "tempHitPoints",
|
"name": "tempHitPoints",
|
||||||
|
"text": "tr(lblTempHitPoints)",
|
||||||
"font": "default",
|
"font": "default",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
@@ -48,7 +49,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "sell",
|
"name": "sell",
|
||||||
"text": "Sell cards",
|
"text": "tr(lblSell)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
@@ -66,7 +67,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Leave",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 400,
|
"x": 400,
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 184,
|
"x": 184,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Take all",
|
"text": "tr(lblLeave)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 420,
|
"x": 420,
|
||||||
@@ -36,7 +36,8 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
"style":"background",
|
||||||
|
"text": "[+Gold]",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 420,
|
"x": 420,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Take all",
|
"text": "tr(lblLeave)",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 140,
|
"x": 140,
|
||||||
@@ -36,7 +36,8 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
"style":"background",
|
||||||
|
"text": "[+Gold]",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "{lblBack}",
|
"text": "tr(lblBack)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "{lblBack}",
|
"text": "tr(lblBack)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
|
|||||||
@@ -21,72 +21,64 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "titleL",
|
"name" : "titleL",
|
||||||
"text": "{lblCreateACharacter}",
|
"text": "{SIZE=150%}[BLACK]tr(lblCreateACharacter)",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"fontSize": 1.5,
|
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 76,
|
"x": 76,
|
||||||
"y": 16
|
"y": 16
|
||||||
} ,
|
} ,
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "nameL",
|
"name" : "nameL",
|
||||||
"text": "{lblName}:",
|
"text": "[BLACK]tr(lblName):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"y": 96
|
"y": 96
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "raceL",
|
"name" : "raceL",
|
||||||
"text": "{lblRace}:",
|
"text": "[BLACK]tr(lblRace):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "genderL",
|
"name" : "genderL",
|
||||||
"text": "{lblGender}:",
|
"text": "[BLACK]tr(lblGender):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "difficultyL",
|
"name" : "difficultyL",
|
||||||
"text": "{lblDifficulty}:",
|
"text": "[BLACK]tr(lblDifficulty):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "colorIdL",
|
"name" : "colorIdL",
|
||||||
"text": "{lblColors}:",
|
"text": "[BLACK]tr(lblColors):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "modeL",
|
"name" : "modeL",
|
||||||
"text": "{lblMode}",
|
"text": "[BLACK]tr(lblMode)",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"font" : "black",
|
|
||||||
"x": 75,
|
"x": 75,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
@@ -168,7 +160,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "back",
|
"name": "back",
|
||||||
"text": "{lblBack}",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 348,
|
"x": 348,
|
||||||
@@ -177,7 +169,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "{lblStart}",
|
"text": "tr(lblStart)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 348,
|
"x": 348,
|
||||||
|
|||||||
@@ -21,72 +21,64 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "titleL",
|
"name" : "titleL",
|
||||||
"text": "{lblCreateACharacter}",
|
"text": "{SIZE=150%}[BLACK]tr(lblCreateACharacter)",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"fontSize": 1.5,
|
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 30,
|
"x": 30,
|
||||||
"y": 66
|
"y": 66
|
||||||
} ,
|
} ,
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "nameL",
|
"name" : "nameL",
|
||||||
"text": "{lblName}:",
|
"text": "[BLACK]tr(lblName):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 140
|
"y": 140
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "raceL",
|
"name" : "raceL",
|
||||||
"text": "{lblRace}:",
|
"text": "[BLACK]tr(lblRace):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "genderL",
|
"name" : "genderL",
|
||||||
"text": "{lblGender}:",
|
"text": "[BLACK]tr(lblGender):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "difficultyL",
|
"name" : "difficultyL",
|
||||||
"text": "{lblDifficulty}:",
|
"text": "[BLACK]tr(lblDifficulty):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"fontColor": "0x000000FF",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "colorIdL",
|
"name" : "colorIdL",
|
||||||
"text": "{lblColors}:",
|
"text": "[BLACK]tr(lblColors):",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font" : "black",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name" : "modeL",
|
"name" : "modeL",
|
||||||
"text": "{lblMode}",
|
"text": "[BLACK]tr(lblMode)",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font" : "black",
|
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"yOffset": 8
|
"yOffset": 8
|
||||||
},
|
},
|
||||||
@@ -167,7 +159,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "back",
|
"name": "back",
|
||||||
"text": "{lblBack}",
|
"text": "tr(lblBack)",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 28,
|
"height": 28,
|
||||||
"x": 32,
|
"x": 32,
|
||||||
@@ -176,7 +168,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "{lblStart}",
|
"text": "tr(lblStart)",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 28,
|
"height": 28,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 368,
|
"x": 368,
|
||||||
@@ -53,15 +53,10 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "save",
|
"name": "save",
|
||||||
"text": "saveLoad",
|
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 368,
|
"x": 368,
|
||||||
"y": 220
|
"y": 220
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "Table",
|
|
||||||
"font": "default"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 120,
|
"width": 120,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 10,
|
"x": 10,
|
||||||
@@ -53,7 +53,6 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "save",
|
"name": "save",
|
||||||
"text": "saveLoad",
|
|
||||||
"width": 120,
|
"width": 120,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 140,
|
"x": 140,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 52,
|
"width": 52,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 415,
|
"x": 415,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 250,
|
"width": 250,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 10,
|
"x": 10,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Done",
|
"text": "tr(lblBack)",
|
||||||
"x": 400,
|
"x": 400,
|
||||||
"y": 240,
|
"y": 240,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BBlack",
|
"name": "BBlack",
|
||||||
"text": "Black",
|
"text": "tr(lblBlack)",
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BBlue",
|
"name": "BBlue",
|
||||||
"text": "Blue",
|
"text": "tr(lblBlue)",
|
||||||
"x": 65,
|
"x": 65,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BGreen",
|
"name": "BGreen",
|
||||||
"text": "Green",
|
"text": "tr(lblGreen)",
|
||||||
"x": 115,
|
"x": 115,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BRed",
|
"name": "BRed",
|
||||||
"text": "Red",
|
"text": "tr(lblRed)",
|
||||||
"x": 165,
|
"x": 165,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BWhite",
|
"name": "BWhite",
|
||||||
"text": "White",
|
"text": "tr(lblWhite)",
|
||||||
"x": 215,
|
"x": 215,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BColorless",
|
"name": "BColorless",
|
||||||
"text": "Colorless",
|
"text": "tr(lblColorless)",
|
||||||
"x": 265,
|
"x": 265,
|
||||||
"y": 120,
|
"y": 120,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -125,7 +125,6 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"width": 120,
|
"width": 120,
|
||||||
@@ -134,7 +133,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "pull",
|
"name": "pull",
|
||||||
"text": "Pull",
|
"text": "tr(lblDraw)",
|
||||||
"x": 360,
|
"x": 360,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
"width": 90,
|
"width": 90,
|
||||||
@@ -143,7 +142,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "colorLabel",
|
"name": "colorLabel",
|
||||||
"text": "Colors",
|
"text": "tr(lblColors)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 90,
|
"y": 90,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -152,7 +151,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-3",
|
"name": "vnXYKZJw_P5wMnHa1tH7-3",
|
||||||
"text": "Plane",
|
"text": "tr(lblPlane)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 30,
|
"y": 30,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -170,7 +169,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-5",
|
"name": "vnXYKZJw_P5wMnHa1tH7-5",
|
||||||
"text": "Mana Cost",
|
"text": "tr(lblManaCost)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 150,
|
"y": 150,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -215,7 +214,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-10",
|
"name": "vnXYKZJw_P5wMnHa1tH7-10",
|
||||||
"text": "Rarity",
|
"text": "tr(lblRarity)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 210,
|
"y": 210,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -224,7 +223,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BCommon",
|
"name": "BCommon",
|
||||||
"text": "Common",
|
"text": "tr(lblCommon)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 240,
|
"y": 240,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -233,7 +232,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BUncommon",
|
"name": "BUncommon",
|
||||||
"text": "Uncommon",
|
"text": "tr(lblUncommon)",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 240,
|
"y": 240,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -242,7 +241,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BRare",
|
"name": "BRare",
|
||||||
"text": "Rare",
|
"text": "tr(lblRare)",
|
||||||
"x": 170,
|
"x": 170,
|
||||||
"y": 240,
|
"y": 240,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -260,7 +259,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BResetEdition",
|
"name": "BResetEdition",
|
||||||
"text": "Reset",
|
"text": "tr(lblReset)",
|
||||||
"x": 250,
|
"x": 250,
|
||||||
"y": 60,
|
"y": 60,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Done",
|
"text": "tr(lblBack)",
|
||||||
"x": 175,
|
"x": 175,
|
||||||
"y": 150,
|
"y": 150,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BBlack",
|
"name": "BBlack",
|
||||||
"text": "Black",
|
"text": "tr(lblBlack)",
|
||||||
"x": 58,
|
"x": 58,
|
||||||
"y": 290,
|
"y": 290,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BBlue",
|
"name": "BBlue",
|
||||||
"text": "Blue",
|
"text": "tr(lblBlue)",
|
||||||
"x": 113,
|
"x": 113,
|
||||||
"y": 290,
|
"y": 290,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BGreen",
|
"name": "BGreen",
|
||||||
"text": "Green",
|
"text": "tr(lblGreen)",
|
||||||
"x": 168,
|
"x": 168,
|
||||||
"y": 290,
|
"y": 290,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BRed",
|
"name": "BRed",
|
||||||
"text": "Red",
|
"text": "tr(lblRed)",
|
||||||
"x": 58,
|
"x": 58,
|
||||||
"y": 320,
|
"y": 320,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BWhite",
|
"name": "BWhite",
|
||||||
"text": "White",
|
"text": "tr(lblWhite)",
|
||||||
"x": 113,
|
"x": 113,
|
||||||
"y": 320,
|
"y": 320,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BColorless",
|
"name": "BColorless",
|
||||||
"text": "Colorless",
|
"text": "tr(lblColorless)",
|
||||||
"x": 168,
|
"x": 168,
|
||||||
"y": 320,
|
"y": 320,
|
||||||
"width": 45,
|
"width": 45,
|
||||||
@@ -125,7 +125,6 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "gold",
|
"name": "gold",
|
||||||
"text": "$",
|
|
||||||
"x": 150,
|
"x": 150,
|
||||||
"y": 0,
|
"y": 0,
|
||||||
"width": 120,
|
"width": 120,
|
||||||
@@ -134,7 +133,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "pull",
|
"name": "pull",
|
||||||
"text": "Pull",
|
"text": "tr(lblDraw)",
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 150,
|
"y": 150,
|
||||||
"width": 97,
|
"width": 97,
|
||||||
@@ -143,7 +142,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "colorLabel",
|
"name": "colorLabel",
|
||||||
"text": "Colors",
|
"text": "tr(lblColors)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 260,
|
"y": 260,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -152,7 +151,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-3",
|
"name": "vnXYKZJw_P5wMnHa1tH7-3",
|
||||||
"text": "Plane",
|
"text": "tr(lblPlane)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 190,
|
"y": 190,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -170,7 +169,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-5",
|
"name": "vnXYKZJw_P5wMnHa1tH7-5",
|
||||||
"text": "Mana Cost",
|
"text": "tr(lblManaCost)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 360,
|
"y": 360,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -215,7 +214,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "vnXYKZJw_P5wMnHa1tH7-10",
|
"name": "vnXYKZJw_P5wMnHa1tH7-10",
|
||||||
"text": "Rarity",
|
"text": "tr(lblRarity)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 427,
|
"y": 427,
|
||||||
"width": 100,
|
"width": 100,
|
||||||
@@ -224,7 +223,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BCommon",
|
"name": "BCommon",
|
||||||
"text": "Common",
|
"text": "tr(lblCommon)",
|
||||||
"x": 20,
|
"x": 20,
|
||||||
"y": 450,
|
"y": 450,
|
||||||
"width": 50,
|
"width": 50,
|
||||||
@@ -233,7 +232,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BUncommon",
|
"name": "BUncommon",
|
||||||
"text": "Uncommon",
|
"text": "tr(lblUncommon)",
|
||||||
"x": 80,
|
"x": 80,
|
||||||
"y": 450,
|
"y": 450,
|
||||||
"width": 50,
|
"width": 50,
|
||||||
@@ -242,7 +241,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BRare",
|
"name": "BRare",
|
||||||
"text": "Rare",
|
"text": "tr(lblRare)",
|
||||||
"x": 140,
|
"x": 140,
|
||||||
"y": 450,
|
"y": 450,
|
||||||
"width": 50,
|
"width": 50,
|
||||||
@@ -260,7 +259,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "BResetEdition",
|
"name": "BResetEdition",
|
||||||
"text": "Reset",
|
"text": "tr(lblReset)",
|
||||||
"x": 195,
|
"x": 195,
|
||||||
"y": 220,
|
"y": 220,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start",
|
"name": "Start",
|
||||||
"text": "New Game",
|
"text": "tr(lblNewGame)",
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start+",
|
"name": "Start+",
|
||||||
"text": "New Game +",
|
"text": "tr(lblNewGame) +",
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 240,
|
"x": 240,
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Load",
|
"name": "Load",
|
||||||
"text": "Load",
|
"text": "tr(lblLoad)",
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Save",
|
"name": "Save",
|
||||||
"text": "Save",
|
"text": "tr(lblSave)",
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Resume",
|
"name": "Resume",
|
||||||
"text": "Resume",
|
"text": "tr(lblResume)",
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Continue",
|
"name": "Continue",
|
||||||
"text": "Continue",
|
"text": "tr(lblContinue)",
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"text": "Settings",
|
"text": "tr(lblSettings)",
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Exit",
|
"name": "Exit",
|
||||||
"text": "Exit",
|
"text": "tr(lblExit)",
|
||||||
"width": 75,
|
"width": 75,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Switch",
|
"name": "Switch",
|
||||||
"text": "Classic",
|
"text": "tr(lblClassic)",
|
||||||
"width": 75,
|
"width": 75,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 245,
|
"x": 245,
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start",
|
"name": "Start",
|
||||||
"text": "New Game",
|
"text": "tr(lblNewGame)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start+",
|
"name": "Start+",
|
||||||
"text": "New Game +",
|
"text": "tr(lblNewGame) +",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Load",
|
"name": "Load",
|
||||||
"text": "Load",
|
"text": "tr(lblLoad)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Save",
|
"name": "Save",
|
||||||
"text": "Save",
|
"text": "tr(lblSave)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Resume",
|
"name": "Resume",
|
||||||
"text": "Resume",
|
"text": "tr(lblResume)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"text": "Settings",
|
"text": "tr(lblSettings)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Switch",
|
"name": "Switch",
|
||||||
"text": "Classic",
|
"text": "tr(lblClassic)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -75,7 +75,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Exit",
|
"name": "Exit",
|
||||||
"text": "Exit",
|
"text": "tr(lblExit)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Continue",
|
"name": "Continue",
|
||||||
"text": "Continue",
|
"text": "tr(lblContinue)",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
|
|||||||
@@ -50,17 +50,17 @@
|
|||||||
"y": 102,
|
"y": 102,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "wins",
|
"name": "wins",
|
||||||
"text": "Win:",
|
"text": "tr(lblWinProper):",
|
||||||
"x": 330,
|
"x": 330,
|
||||||
"y": 102,
|
"y": 102,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
@@ -69,17 +69,17 @@
|
|||||||
"y": 113,
|
"y": 113,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "loss",
|
"name": "loss",
|
||||||
"text": "Loss:",
|
"text": "tr(lblLossProper):",
|
||||||
"x": 330,
|
"x": 330,
|
||||||
"y": 113,
|
"y": 113,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
@@ -88,17 +88,17 @@
|
|||||||
"y": 125,
|
"y": 125,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "winloss",
|
"name": "winloss",
|
||||||
"text": "Win Loss Ratio:",
|
"text": "tr(lblWinProper)/tr(lblLossProper):",
|
||||||
"x": 330,
|
"x": 330,
|
||||||
"y": 125,
|
"y": 125,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Scroll",
|
"type": "Scroll",
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 335,
|
"x": 335,
|
||||||
@@ -143,12 +143,11 @@
|
|||||||
"y": 20,
|
"y": 20,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "lifePoints",
|
"name": "[BLACK]lifePoints",
|
||||||
"font": "black",
|
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 410,
|
"x": 410,
|
||||||
@@ -157,7 +156,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "money",
|
"name": "money",
|
||||||
"font": "black",
|
"fontColor":"black",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 410,
|
"x": 410,
|
||||||
|
|||||||
@@ -50,17 +50,17 @@
|
|||||||
"y": 56,
|
"y": 56,
|
||||||
"width": 26,
|
"width": 26,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "wins",
|
"name": "wins",
|
||||||
"text": "Win:",
|
"text": "tr(lblWinProper):",
|
||||||
"x": 98,
|
"x": 98,
|
||||||
"y": 56,
|
"y": 56,
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
@@ -69,17 +69,17 @@
|
|||||||
"y": 68,
|
"y": 68,
|
||||||
"width": 26,
|
"width": 26,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "loss",
|
"name": "loss",
|
||||||
"text": "Loss:",
|
"text": "tr(lblLossProper):",
|
||||||
"x": 98,
|
"x": 98,
|
||||||
"y": 68,
|
"y": 68,
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
@@ -88,22 +88,22 @@
|
|||||||
"y": 80,
|
"y": 80,
|
||||||
"width": 26,
|
"width": 26,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "winloss",
|
"name": "winloss",
|
||||||
"text": "Win Loss Ratio:",
|
"text": "tr(lblWinProper)/tr(lblLossProper):",
|
||||||
"x": 98,
|
"x": 98,
|
||||||
"y": 80,
|
"y": 80,
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "Back",
|
"text": "tr(lblBack)",
|
||||||
"width": 260,
|
"width": 260,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
"y": 4,
|
"y": 4,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"font": "black"
|
"fontColor":"black"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "Image",
|
"type": "Image",
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "lifePoints",
|
"name": "lifePoints",
|
||||||
"font": "black",
|
"fontColor":"black",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 118,
|
"x": 118,
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Label",
|
"type": "Label",
|
||||||
"name": "money",
|
"name": "money",
|
||||||
"font": "black",
|
"fontColor":"black",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 118,
|
"x": 118,
|
||||||
|
|||||||
@@ -477,7 +477,7 @@
|
|||||||
{
|
{
|
||||||
"name": "Change",
|
"name": "Change",
|
||||||
"equipmentSlot": "Right",
|
"equipmentSlot": "Right",
|
||||||
"iconName": "Gold",
|
"iconName": "GoldStack",
|
||||||
"effect": {
|
"effect": {
|
||||||
"startBattleWithCard": [
|
"startBattleWithCard": [
|
||||||
"c_a_gold_draw"
|
"c_a_gold_draw"
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
"rewards": [
|
"rewards": [
|
||||||
{ "type": "item","count":1, "itemName": "White rune" },
|
{ "type": "item","count":1, "itemName": "White rune" },
|
||||||
{ "type": "item","count":1, "itemName": "White Staff" },
|
{ "type": "item","count":1, "itemName": "White Staff" },
|
||||||
{ "type": "mana","count":25, },
|
{ "type": "mana","count":2 },
|
||||||
{ "type": "life","count":1, }
|
{ "type": "life","count":1 }
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -45,8 +45,8 @@
|
|||||||
"rewards": [
|
"rewards": [
|
||||||
{ "type": "item","count":1, "itemName": "Red rune" },
|
{ "type": "item","count":1, "itemName": "Red rune" },
|
||||||
{ "type": "item","count":1, "itemName": "Red Staff" },
|
{ "type": "item","count":1, "itemName": "Red Staff" },
|
||||||
{ "type": "mana","count":25, },
|
{ "type": "mana","count":2 },
|
||||||
{ "type": "life","count":1, }
|
{ "type": "life","count":1 }
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -71,8 +71,8 @@
|
|||||||
"rewards": [
|
"rewards": [
|
||||||
{ "type": "item","count":1, "itemName": "Blue rune" },
|
{ "type": "item","count":1, "itemName": "Blue rune" },
|
||||||
{ "type": "item","count":1, "itemName": "Blue Staff" },
|
{ "type": "item","count":1, "itemName": "Blue Staff" },
|
||||||
{ "type": "mana","count":25, },
|
{ "type": "mana","count":2 },
|
||||||
{ "type": "life","count":1, }
|
{ "type": "life","count":1 }
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -98,12 +98,12 @@
|
|||||||
"rewards": [
|
"rewards": [
|
||||||
{ "type": "item","count":1, "itemName": "Black rune" },
|
{ "type": "item","count":1, "itemName": "Black rune" },
|
||||||
{ "type": "item","count":1, "itemName": "Black Staff" },
|
{ "type": "item","count":1, "itemName": "Black Staff" },
|
||||||
{ "type": "mana","count":25, },
|
{ "type": "mana","count":2 },
|
||||||
{ "type": "life","count":1, }
|
{ "type": "life","count":1 }
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
},
|
||||||
{
|
{
|
||||||
"name":"GreenEquipment",
|
"name":"GreenEquipment",
|
||||||
"spriteAtlas":"maps/tileset/buildings.atlas",
|
"spriteAtlas":"maps/tileset/buildings.atlas",
|
||||||
@@ -125,13 +125,12 @@
|
|||||||
"rewards": [
|
"rewards": [
|
||||||
{ "type": "item","count":1, "itemName": "Green rune" },
|
{ "type": "item","count":1, "itemName": "Green rune" },
|
||||||
{ "type": "item","count":1, "itemName": "Green Staff" },
|
{ "type": "item","count":1, "itemName": "Green Staff" },
|
||||||
{ "type": "mana","count":25, },
|
{ "type": "mana","count":2 },
|
||||||
{ "type": "life","count":1, }
|
{ "type": "life","count":1 }
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
},{
|
||||||
,{
|
|
||||||
"name":"Equipment",
|
"name":"Equipment",
|
||||||
"spriteAtlas":"maps/tileset/buildings.atlas",
|
"spriteAtlas":"maps/tileset/buildings.atlas",
|
||||||
"sprite":"EquipmentShop",
|
"sprite":"EquipmentShop",
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
package forge.util;
|
package forge.util;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.*;
|
|
||||||
import java.util.concurrent.ExecutorService;
|
|
||||||
import java.util.concurrent.RejectedExecutionException;
|
|
||||||
|
|
||||||
import forge.card.CardEdition;
|
|
||||||
import forge.item.IPaperCard;
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
|
|
||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
import forge.StaticData;
|
import forge.StaticData;
|
||||||
|
import forge.card.CardEdition;
|
||||||
import forge.gui.FThreads;
|
import forge.gui.FThreads;
|
||||||
|
import forge.item.IPaperCard;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
import forge.localinstance.properties.ForgeConstants;
|
import forge.localinstance.properties.ForgeConstants;
|
||||||
import forge.localinstance.properties.ForgePreferences;
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.RejectedExecutionException;
|
||||||
|
|
||||||
public abstract class ImageFetcher {
|
public abstract class ImageFetcher {
|
||||||
private static final ExecutorService threadPool = ThreadUtil.getServicePool();
|
|
||||||
// see https://scryfall.com/docs/api/languages and
|
// see https://scryfall.com/docs/api/languages and
|
||||||
// https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
// https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||||
private static final HashMap<String, String> langCodeMap = new HashMap<>();
|
private static final HashMap<String, String> langCodeMap = new HashMap<>();
|
||||||
@@ -209,7 +209,7 @@ public abstract class ImageFetcher {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
try {
|
try {
|
||||||
threadPool.submit(getDownloadTask(downloadUrls.toArray(new String[0]), destPath, notifyObservers));
|
ThreadUtil.getServicePool().submit(getDownloadTask(downloadUrls.toArray(new String[0]), destPath, notifyObservers));
|
||||||
} catch (RejectedExecutionException re) {
|
} catch (RejectedExecutionException re) {
|
||||||
re.printStackTrace();
|
re.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user