Merge pull request #1586 from TrueFuFLeaderG/adventure
Adventure ui update and some fixes
@@ -9,26 +9,17 @@ import com.badlogic.gdx.controllers.Controller;
|
|||||||
import com.badlogic.gdx.controllers.ControllerAdapter;
|
import com.badlogic.gdx.controllers.ControllerAdapter;
|
||||||
import com.badlogic.gdx.controllers.ControllerListener;
|
import com.badlogic.gdx.controllers.ControllerListener;
|
||||||
import com.badlogic.gdx.controllers.Controllers;
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
import com.badlogic.gdx.graphics.Cursor;
|
import com.badlogic.gdx.graphics.*;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
|
||||||
import com.badlogic.gdx.graphics.Pixmap;
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
|
||||||
import com.badlogic.gdx.graphics.TextureData;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||||
import com.badlogic.gdx.utils.Array;
|
import com.badlogic.gdx.utils.Array;
|
||||||
import com.badlogic.gdx.utils.Clipboard;
|
import com.badlogic.gdx.utils.Clipboard;
|
||||||
import forge.adventure.scene.*;
|
import forge.adventure.scene.*;
|
||||||
import forge.adventure.stage.MapStage;
|
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
import forge.adventure.world.WorldSave;
|
import forge.adventure.world.WorldSave;
|
||||||
import forge.animation.ForgeAnimation;
|
import forge.animation.ForgeAnimation;
|
||||||
import forge.assets.Assets;
|
import forge.assets.*;
|
||||||
import forge.assets.AssetsDownloader;
|
|
||||||
import forge.assets.FSkin;
|
|
||||||
import forge.assets.FSkinFont;
|
|
||||||
import forge.assets.ImageCache;
|
|
||||||
import forge.error.ExceptionHandler;
|
import forge.error.ExceptionHandler;
|
||||||
import forge.gamemodes.limited.BoosterDraft;
|
import forge.gamemodes.limited.BoosterDraft;
|
||||||
import forge.gui.FThreads;
|
import forge.gui.FThreads;
|
||||||
@@ -1003,8 +994,6 @@ public class Forge implements ApplicationListener {
|
|||||||
}
|
}
|
||||||
storeScreen();
|
storeScreen();
|
||||||
sceneWasSwapped = true;
|
sceneWasSwapped = true;
|
||||||
if (newScene instanceof GameScene)
|
|
||||||
MapStage.getInstance().clearIsInMap();
|
|
||||||
currentScene = newScene;
|
currentScene = newScene;
|
||||||
|
|
||||||
currentScene.enter();
|
currentScene.enter();
|
||||||
@@ -1420,9 +1409,6 @@ public class Forge implements ApplicationListener {
|
|||||||
hasGamepad = true;
|
hasGamepad = true;
|
||||||
if (controller.canVibrate())
|
if (controller.canVibrate())
|
||||||
controller.startVibration(200,1);
|
controller.startVibration(200,1);
|
||||||
if (Forge.isMobileAdventureMode && Forge.currentScene instanceof UIScene) {
|
|
||||||
((UIScene) Forge.currentScene).selectCurrent();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void disconnected(Controller controller) {
|
public void disconnected(Controller controller) {
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ public class DialogData {
|
|||||||
public String loctext; //References a localized string for the text body.
|
public String loctext; //References a localized string for the text body.
|
||||||
public DialogData[] options; //List of sub-dialogs. Show up as options in the current one.
|
public DialogData[] options; //List of sub-dialogs. Show up as options in the current one.
|
||||||
|
|
||||||
|
|
||||||
|
public String voiceFile;
|
||||||
|
|
||||||
static public class ActionData {
|
static public class ActionData {
|
||||||
static public class QuestFlag {
|
static public class QuestFlag {
|
||||||
public String key;
|
public String key;
|
||||||
|
|||||||
@@ -412,7 +412,8 @@ public class AdventurePlayer implements Serializable, SaveFileContent {
|
|||||||
addGold(reward.getCount());
|
addGold(reward.getCount());
|
||||||
break;
|
break;
|
||||||
case Item:
|
case Item:
|
||||||
inventoryItems.add(reward.getItem().name);
|
if(reward.getItem()!=null)
|
||||||
|
inventoryItems.add(reward.getItem().name);
|
||||||
break;
|
break;
|
||||||
case Life:
|
case Life:
|
||||||
addMaxLife(reward.getCount());
|
addMaxLife(reward.getCount());
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
import com.badlogic.gdx.graphics.g2d.Sprite;
|
import com.badlogic.gdx.graphics.g2d.Sprite;
|
||||||
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
|
||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
@@ -38,8 +37,6 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final TextraButton doneButton;
|
private final TextraButton doneButton;
|
||||||
Dialog startDialog;
|
|
||||||
Dialog areYouSureDialog;
|
|
||||||
private final TextraLabel goldLabel;
|
private final TextraLabel goldLabel;
|
||||||
|
|
||||||
private final Group arenaPlane;
|
private final Group arenaPlane;
|
||||||
@@ -81,7 +78,7 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
if(!arenaStarted)
|
if(!arenaStarted)
|
||||||
ArenaScene.this.done();
|
ArenaScene.this.done();
|
||||||
else
|
else
|
||||||
areYouSureDialog.show(stage);
|
showAreYouSure();
|
||||||
});
|
});
|
||||||
ui.onButtonPress("start", () -> startButton());
|
ui.onButtonPress("start", () -> startButton());
|
||||||
doneButton = ui.findActor("done");
|
doneButton = ui.findActor("done");
|
||||||
@@ -91,38 +88,15 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
|
|
||||||
startButton=ui.findActor("start");
|
startButton=ui.findActor("start");
|
||||||
|
|
||||||
startDialog = new Dialog(Forge.getLocalizer().getMessage("lblStart"), Controls.getSkin())
|
|
||||||
{
|
|
||||||
protected void result(Object object)
|
|
||||||
{
|
|
||||||
if(object!=null&&object.equals(true))
|
|
||||||
startArena();
|
|
||||||
startDialog.hide();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
startDialog.text("Do you want to go into the Arena?");
|
|
||||||
startDialog.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
|
||||||
startDialog.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
|
||||||
ui.addActor(startDialog);
|
|
||||||
startDialog.hide();
|
|
||||||
startDialog.getColor().a = 0;
|
|
||||||
|
|
||||||
|
|
||||||
areYouSureDialog= new Dialog(Forge.getLocalizer().getMessage("lblConcedeTitle"), Controls.getSkin())
|
}
|
||||||
{
|
|
||||||
protected void result(Object object)
|
private void showAreYouSure() {
|
||||||
{
|
|
||||||
if(object!=null&&object.equals(true))
|
Dialog areYouSureDialog= prepareDialog(Forge.getLocalizer().getMessage("lblConcedeTitle"),ButtonYes|ButtonNo,()->loose());
|
||||||
loose();
|
|
||||||
startDialog.hide();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
areYouSureDialog.text(Forge.getLocalizer().getMessage("lblConcedeCurrentGame"));
|
areYouSureDialog.text(Forge.getLocalizer().getMessage("lblConcedeCurrentGame"));
|
||||||
areYouSureDialog.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
showDialog(areYouSureDialog);
|
||||||
areYouSureDialog.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
|
||||||
ui.addActor(areYouSureDialog);
|
|
||||||
areYouSureDialog.hide();
|
|
||||||
areYouSureDialog.getColor().a = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loose() {
|
private void loose() {
|
||||||
@@ -134,7 +108,9 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
private void startButton() {
|
private void startButton() {
|
||||||
if(roundsWon ==0)
|
if(roundsWon ==0)
|
||||||
{
|
{
|
||||||
startDialog.show(stage);
|
Dialog startDialog = prepareDialog(Forge.getLocalizer().getMessage("lblStart"), ButtonYes|ButtonNo,()->startArena());
|
||||||
|
startDialog.text("Do you want to go into the Arena?");
|
||||||
|
showDialog(startDialog);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -271,13 +247,6 @@ public class ArenaScene extends UIScene implements IAfterMatch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Array<EnemySprite> enemies = new Array<>();
|
Array<EnemySprite> enemies = new Array<>();
|
||||||
Array<Actor> fighters = new Array<>();
|
Array<Actor> fighters = new Array<>();
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.*;
|
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
||||||
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;
|
||||||
@@ -17,11 +19,10 @@ import forge.adventure.util.Current;
|
|||||||
public class DeckSelectScene extends UIScene {
|
public class DeckSelectScene extends UIScene {
|
||||||
private final IntMap<TextraButton> buttons = new IntMap<>();
|
private final IntMap<TextraButton> buttons = new IntMap<>();
|
||||||
Color defColor;
|
Color defColor;
|
||||||
Dialog dialog;
|
|
||||||
TextField textInput;
|
TextField textInput;
|
||||||
Table layout;
|
Table layout;
|
||||||
TextraLabel header;
|
TextraLabel header;
|
||||||
TextraButton back, edit, rename, dialogRenameBtn, dialogAbortBtn;
|
TextraButton back, edit, rename;
|
||||||
int currentSlot = 0;
|
int currentSlot = 0;
|
||||||
ScrollPane scrollPane;
|
ScrollPane scrollPane;
|
||||||
|
|
||||||
@@ -44,20 +45,7 @@ public class DeckSelectScene extends UIScene {
|
|||||||
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++)
|
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++)
|
||||||
addDeckSlot(Forge.getLocalizer().getMessage("lblDeck")+": " + (i + 1), i);
|
addDeckSlot(Forge.getLocalizer().getMessage("lblDeck")+": " + (i + 1), i);
|
||||||
|
|
||||||
dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
textInput = Controls.newTextField("");
|
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();
|
|
||||||
dialogRenameBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblRename"), () -> DeckSelectScene.this.rename());
|
|
||||||
dialog.getButtonTable().add(dialogRenameBtn).align(Align.left).padLeft(15);
|
|
||||||
dialogAbortBtn = Controls.newTextButton(Forge.getLocalizer().getMessage("lblAbort"), () -> dialog.hide());
|
|
||||||
dialog.getButtonTable().add(dialogAbortBtn).align(Align.right).padRight(15);
|
|
||||||
dialog.getColor().a = 0f;
|
|
||||||
dialog.hide();
|
|
||||||
|
|
||||||
back = ui.findActor("return");
|
back = ui.findActor("return");
|
||||||
edit = ui.findActor("edit");
|
edit = ui.findActor("edit");
|
||||||
rename = ui.findActor("rename");
|
rename = ui.findActor("rename");
|
||||||
@@ -65,8 +53,7 @@ public class DeckSelectScene extends UIScene {
|
|||||||
ui.onButtonPress("edit", () -> DeckSelectScene.this.edit());
|
ui.onButtonPress("edit", () -> DeckSelectScene.this.edit());
|
||||||
ui.onButtonPress("rename", () -> {
|
ui.onButtonPress("rename", () -> {
|
||||||
textInput.setText(Current.player().getSelectedDeck().getName());
|
textInput.setText(Current.player().getSelectedDeck().getName());
|
||||||
dialog.show(stage);
|
showRenameDialog();
|
||||||
selectActor(textInput, false);
|
|
||||||
});
|
});
|
||||||
defColor = ui.findActor("return").getColor();
|
defColor = ui.findActor("return").getColor();
|
||||||
|
|
||||||
@@ -74,6 +61,17 @@ public class DeckSelectScene extends UIScene {
|
|||||||
scrollPane.setActor(layout);
|
scrollPane.setActor(layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showRenameDialog() {
|
||||||
|
|
||||||
|
Dialog dialog = prepareDialog(Forge.getLocalizer().getMessage("lblRenameDeck"),ButtonOk|ButtonAbort,()->DeckSelectScene.this.rename());
|
||||||
|
dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2);
|
||||||
|
dialog.getContentTable().row();
|
||||||
|
dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName")+": ")).align(Align.left);
|
||||||
|
dialog.getContentTable().add(textInput).fillX().expandX();
|
||||||
|
dialog.getContentTable().row();
|
||||||
|
showDialog(dialog);
|
||||||
|
}
|
||||||
|
|
||||||
private TextraButton addDeckSlot(String name, int i) {
|
private TextraButton addDeckSlot(String name, int i) {
|
||||||
TextraButton button = Controls.newTextButton("-");
|
TextraButton button = Controls.newTextButton("-");
|
||||||
button.addListener(new ClickListener() {
|
button.addListener(new ClickListener() {
|
||||||
@@ -91,13 +89,11 @@ public class DeckSelectScene extends UIScene {
|
|||||||
layout.add(Controls.newLabel(name)).expandX().pad(2);
|
layout.add(Controls.newLabel(name)).expandX().pad(2);
|
||||||
layout.add(button).expandX().pad(2);
|
layout.add(button).expandX().pad(2);
|
||||||
buttons.put(i, button);
|
buttons.put(i, button);
|
||||||
|
addToSelectable(new Selectable(button));
|
||||||
layout.row();
|
layout.row();
|
||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void back() {
|
|
||||||
Forge.switchToLast();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean select(int slot) {
|
public boolean select(int slot) {
|
||||||
currentSlot = slot;
|
currentSlot = slot;
|
||||||
@@ -115,30 +111,15 @@ public class DeckSelectScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
clearActorObjects();
|
|
||||||
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++) {
|
for (int i = 0; i < AdventurePlayer.NUMBER_OF_DECKS; i++) {
|
||||||
if (buttons.containsKey(i)) {
|
if (buttons.containsKey(i)) {
|
||||||
buttons.get(i).setText(Current.player().getDeck(i).getName());
|
buttons.get(i).setText(Current.player().getDeck(i).getName());
|
||||||
buttons.get(i).getTextraLabel().layout();
|
buttons.get(i).getTextraLabel().layout();
|
||||||
addActorObject(buttons.get(i));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addActorObject(back);
|
|
||||||
addActorObject(rename);
|
|
||||||
addActorObject(edit);
|
|
||||||
addActorObject(textInput);
|
|
||||||
addActorObject(dialogRenameBtn);
|
|
||||||
addActorObject(dialogAbortBtn);
|
|
||||||
select(Current.player().getSelectedDeckIndex());
|
select(Current.player().getSelectedDeckIndex());
|
||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
@@ -146,7 +127,6 @@ public class DeckSelectScene extends UIScene {
|
|||||||
|
|
||||||
|
|
||||||
private void rename() {
|
private void rename() {
|
||||||
dialog.hide();
|
|
||||||
String text = textInput.getText();
|
String text = textInput.getText();
|
||||||
Current.player().renameDeck(text);
|
Current.player().renameDeck(text);
|
||||||
buttons.get(currentSlot).setText(Current.player().getDeck(currentSlot).getName());
|
buttons.get(currentSlot).setText(Current.player().getDeck(currentSlot).getName());
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package forge.adventure.scene;
|
|||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
import com.badlogic.gdx.graphics.GL20;
|
import com.badlogic.gdx.graphics.GL20;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
|
import forge.adventure.stage.MapStage;
|
||||||
import forge.adventure.stage.WorldStage;
|
import forge.adventure.stage.WorldStage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,6 +45,7 @@ public class GameScene extends HudScene {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
|
MapStage.getInstance().clearIsInMap();
|
||||||
Forge.clearTransitionScreen();
|
Forge.clearTransitionScreen();
|
||||||
Forge.clearCurrentScreen();
|
Forge.clearCurrentScreen();
|
||||||
super.enter();
|
super.enter();
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ 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.controllers.Controller;
|
||||||
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.IAfterMatch;
|
||||||
import forge.adventure.stage.MapStage;
|
import forge.adventure.stage.MapStage;
|
||||||
|
import forge.adventure.util.KeyBinding;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hud base scene
|
* Hud base scene
|
||||||
@@ -22,10 +23,18 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa
|
|||||||
hud = GameHUD.getInstance();
|
hud = GameHUD.getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void connected(final Controller controller) {
|
||||||
|
hud.ui.controllerConnected();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void disconnected(final Controller controller) {
|
||||||
|
hud.ui.controllerDisconnected();
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean leave() {
|
public boolean leave() {
|
||||||
stage.leave();
|
stage.leave();
|
||||||
return true;
|
return super.leave();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -33,6 +42,7 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa
|
|||||||
Gdx.input.setInputProcessor(this);
|
Gdx.input.setInputProcessor(this);
|
||||||
stage.enter();
|
stage.enter();
|
||||||
hud.enter();
|
hud.enter();
|
||||||
|
super.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -57,10 +67,8 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyDown(int keycode) {
|
public boolean keyDown(int keycode) {
|
||||||
if (Forge.hasGamepad()) {
|
if (MapStage.getInstance().isDialogOnlyInput()) {
|
||||||
if (MapStage.getInstance().isDialogOnlyInput()) {
|
return MapStage.getInstance().dialogInput(keycode);
|
||||||
return MapStage.getInstance().buttonPress(keycode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (hud.keyDown(keycode))
|
if (hud.keyDown(keycode))
|
||||||
return true;
|
return true;
|
||||||
@@ -72,12 +80,23 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa
|
|||||||
@Override
|
@Override
|
||||||
public boolean keyUp(int keycode) {
|
public boolean keyUp(int keycode) {
|
||||||
|
|
||||||
|
if (MapStage.getInstance().isDialogOnlyInput()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (hud.keyUp(keycode))
|
if (hud.keyUp(keycode))
|
||||||
return true;
|
return true;
|
||||||
if(isInHudOnlyMode())
|
if(isInHudOnlyMode())
|
||||||
return false;
|
return false;
|
||||||
return stage.keyUp(keycode);
|
return stage.keyUp(keycode);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public boolean buttonDown(Controller var1, int var2) {
|
||||||
|
return keyDown(KeyBinding.controllerButtonToKey(var1,var2));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean buttonUp(Controller var1, int var2) {
|
||||||
|
return keyUp(KeyBinding.controllerButtonToKey(var1,var2));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyTyped(char character) {
|
public boolean keyTyped(char character) {
|
||||||
@@ -134,6 +153,11 @@ public abstract class HudScene extends Scene implements InputProcessor, IAfterMa
|
|||||||
return stage.scrolled(amountX, amountY);
|
return stage.scrolled(amountX, amountY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean axisMoved(Controller controller, int axisIndex, float value) {
|
||||||
|
|
||||||
|
return stage.axisMoved(controller, axisIndex, value);
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public void setWinner(boolean winner) {
|
public void setWinner(boolean winner) {
|
||||||
stage.setWinner(winner);
|
stage.setWinner(winner);
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.github.tommyettinger.textra.TextraButton;
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
@@ -71,40 +70,11 @@ public class InnScene extends UIScene {
|
|||||||
|
|
||||||
tempHitPointCost.setDisabled(!purchaseable);
|
tempHitPointCost.setDisabled(!purchaseable);
|
||||||
tempHitPointCost.setText( tempHealthCost+"[+Gold]");
|
tempHitPointCost.setText( tempHealthCost+"[+Gold]");
|
||||||
clearActorObjects();
|
|
||||||
addActorObject(tempHitPointCost);
|
|
||||||
addActorObject(sell);
|
|
||||||
addActorObject(leave);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sell() {
|
private void sell() {
|
||||||
Forge.switchScene(ShopScene.instance());
|
Forge.switchScene(ShopScene.instance());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
if (selectedActor == null)
|
|
||||||
selectActor(tempHitPointCost, false);
|
|
||||||
else
|
|
||||||
selectNextActor(false);
|
|
||||||
} else if ( keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
if (selectedActor == null)
|
|
||||||
selectActor(leave, false);
|
|
||||||
else
|
|
||||||
selectPreviousActor(false);
|
|
||||||
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_B) {
|
|
||||||
performTouch(leave);
|
|
||||||
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
performTouch(selectedActor);
|
|
||||||
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
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.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.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.TextraButton;
|
||||||
import com.github.tommyettinger.textra.TextraLabel;
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
@@ -28,8 +26,6 @@ public class InventoryScene extends UIScene {
|
|||||||
Button equipButton;
|
Button equipButton;
|
||||||
TextraButton useButton;
|
TextraButton useButton;
|
||||||
TextraLabel itemDescription;
|
TextraLabel itemDescription;
|
||||||
Dialog confirm;
|
|
||||||
Dialog useDialog;
|
|
||||||
private final Table inventory;
|
private final Table inventory;
|
||||||
private final Array<Button> inventoryButtons=new Array<>();
|
private final Array<Button> inventoryButtons=new Array<>();
|
||||||
private final HashMap<String,Button> equipmentSlots=new HashMap<>();
|
private final HashMap<String,Button> equipmentSlots=new HashMap<>();
|
||||||
@@ -44,7 +40,7 @@ public class InventoryScene extends UIScene {
|
|||||||
equipOverlay = new Texture(Config.instance().getFile(Paths.ITEMS_EQUIP));
|
equipOverlay = new Texture(Config.instance().getFile(Paths.ITEMS_EQUIP));
|
||||||
ui.onButtonPress("return", () -> done());
|
ui.onButtonPress("return", () -> done());
|
||||||
leave = ui.findActor("return");
|
leave = ui.findActor("return");
|
||||||
ui.onButtonPress("delete", () -> confirm.show(stage));
|
ui.onButtonPress("delete", () -> showConfirm());
|
||||||
ui.onButtonPress("equip", () -> equip());
|
ui.onButtonPress("equip", () -> equip());
|
||||||
ui.onButtonPress("use", () -> use());
|
ui.onButtonPress("use", () -> use());
|
||||||
equipButton = ui.findActor("equip");
|
equipButton = ui.findActor("equip");
|
||||||
@@ -109,45 +105,16 @@ 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("", Controls.getSkin())
|
|
||||||
{
|
|
||||||
protected void result(Object object)
|
|
||||||
{
|
|
||||||
if(object!=null&&object.equals(true))
|
|
||||||
delete();
|
|
||||||
confirm.hide();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
confirm.text( Controls.newLabel(Forge.getLocalizer().getMessage("lblDelete")));
|
|
||||||
|
|
||||||
confirm.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
|
||||||
confirm.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
|
||||||
ui.addActor(confirm);
|
|
||||||
confirm.hide();
|
|
||||||
|
|
||||||
itemDescription.setWrap(true);
|
itemDescription.setWrap(true);
|
||||||
//makes confirm dialog hidden immediately when you open inventory first time..
|
|
||||||
confirm.getColor().a = 0;
|
|
||||||
|
|
||||||
|
|
||||||
useDialog = new Dialog("", Controls.getSkin())
|
}
|
||||||
{
|
|
||||||
protected void result(Object object)
|
|
||||||
{
|
|
||||||
useDialog.hide();
|
|
||||||
if(object!=null&&object.equals(true))
|
|
||||||
{
|
|
||||||
triggerUse();
|
|
||||||
useDialog.getColor().a = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
useDialog.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
private void showConfirm() {
|
||||||
useDialog.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
Dialog confirm = prepareDialog("",ButtonYes|ButtonNo,()->delete());
|
||||||
ui.addActor(useDialog);
|
confirm.text( Controls.newLabel(Forge.getLocalizer().getMessage("lblDelete")));
|
||||||
useDialog.hide();
|
showDialog(confirm);
|
||||||
useDialog.getColor().a = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static InventoryScene object;
|
private static InventoryScene object;
|
||||||
@@ -197,11 +164,11 @@ public class InventoryScene extends UIScene {
|
|||||||
ConsoleCommandInterpreter.getInstance().command(data.commandOnUse);
|
ConsoleCommandInterpreter.getInstance().command(data.commandOnUse);
|
||||||
}
|
}
|
||||||
private void use() {
|
private void use() {
|
||||||
useDialog.getContentTable().clear();
|
|
||||||
ItemData data = ItemData.getItem(itemLocation.get(selected));
|
ItemData data = ItemData.getItem(itemLocation.get(selected));
|
||||||
if(data==null)return;
|
if(data==null)return;
|
||||||
|
Dialog useDialog = prepareDialog("",ButtonYes|ButtonNo,()->triggerUse());
|
||||||
useDialog.getContentTable().add(Controls.newTextraLabel("Use "+data.name+"?\n"+data.getDescription()));
|
useDialog.getContentTable().add(Controls.newTextraLabel("Use "+data.name+"?\n"+data.getDescription()));
|
||||||
useDialog.show(stage);
|
showDialog(useDialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setSelected(Button actor) {
|
private void setSelected(Button actor) {
|
||||||
@@ -268,7 +235,7 @@ public class InventoryScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateInventory() {
|
private void updateInventory() {
|
||||||
clearActorObjects();
|
clearSelectable();
|
||||||
inventoryButtons.clear();
|
inventoryButtons.clear();
|
||||||
inventory.clear();
|
inventory.clear();
|
||||||
for(int i=0;i<Current.player().getItems().size;i++) {
|
for(int i=0;i<Current.player().getItems().size;i++) {
|
||||||
@@ -277,6 +244,13 @@ public class InventoryScene extends UIScene {
|
|||||||
inventory.row();
|
inventory.row();
|
||||||
Button newActor=createInventorySlot();
|
Button newActor=createInventorySlot();
|
||||||
inventory.add(newActor).top().left().space(1);
|
inventory.add(newActor).top().left().space(1);
|
||||||
|
addToSelectable(new Selectable(newActor){
|
||||||
|
@Override
|
||||||
|
public void onSelect(UIScene scene) {
|
||||||
|
setSelected(newActor);
|
||||||
|
super.onSelect(scene);
|
||||||
|
}
|
||||||
|
});
|
||||||
inventoryButtons.add(newActor);
|
inventoryButtons.add(newActor);
|
||||||
ItemData item=ItemData.getItem(Current.player().getItems().get(i));
|
ItemData item=ItemData.getItem(Current.player().getItems().get(i));
|
||||||
if(item==null)
|
if(item==null)
|
||||||
@@ -310,7 +284,6 @@ public class InventoryScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addActorObject(newActor);
|
|
||||||
}
|
}
|
||||||
for(Map.Entry<String, Button> slot :equipmentSlots.entrySet()) {
|
for(Map.Entry<String, Button> slot :equipmentSlots.entrySet()) {
|
||||||
if(slot.getValue().getChildren().size>=2)
|
if(slot.getValue().getChildren().size>=2)
|
||||||
@@ -341,32 +314,4 @@ public class InventoryScene extends UIScene {
|
|||||||
return button;
|
return button;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_SELECT)
|
|
||||||
performTouch(ui.findActor("return"));
|
|
||||||
else if (keycode == Input.Keys.BUTTON_B)
|
|
||||||
performTouch(ui.findActor("return"));
|
|
||||||
else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
if (selectedActor instanceof ImageButton) {
|
|
||||||
performTouch(equipButton);
|
|
||||||
Timer.schedule(new Timer.Task() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
selectCurrent();
|
|
||||||
}
|
|
||||||
}, 0.25f);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
performTouch(selectedActor);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_RIGHT || keycode == Input.Keys.DPAD_DOWN)
|
|
||||||
selectNextActor(false);
|
|
||||||
else if (keycode == Input.Keys.DPAD_LEFT || keycode == Input.Keys.DPAD_UP)
|
|
||||||
selectPreviousActor(false);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,11 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
|
||||||
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.InputListener;
|
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
|
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 com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.DifficultyData;
|
import forge.adventure.data.DifficultyData;
|
||||||
@@ -22,7 +17,6 @@ import forge.adventure.util.UIActor;
|
|||||||
import forge.adventure.world.WorldSave;
|
import forge.adventure.world.WorldSave;
|
||||||
import forge.card.ColorSet;
|
import forge.card.ColorSet;
|
||||||
import forge.deck.DeckProxy;
|
import forge.deck.DeckProxy;
|
||||||
import forge.gui.GuiBase;
|
|
||||||
import forge.localinstance.properties.ForgePreferences;
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.player.GamePlayerUtil;
|
import forge.player.GamePlayerUtil;
|
||||||
@@ -54,16 +48,6 @@ public class NewGameScene extends UIScene {
|
|||||||
|
|
||||||
selectedName = ui.findActor("nameField");
|
selectedName = ui.findActor("nameField");
|
||||||
selectedName.setText(NameGenerator.getRandomName("Any", "Any", ""));
|
selectedName.setText(NameGenerator.getRandomName("Any", "Any", ""));
|
||||||
selectedName.addListener(new InputListener() {
|
|
||||||
@Override
|
|
||||||
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
|
|
||||||
if (!GuiBase.isAndroid() && showGamepadSelector) {
|
|
||||||
//show onscreen keyboard
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return super.touchDown(event, x, y, pointer, button);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
avatarImage = ui.findActor("avatarPreview");
|
avatarImage = ui.findActor("avatarPreview");
|
||||||
gender = ui.findActor("gender");
|
gender = ui.findActor("gender");
|
||||||
mode = ui.findActor("mode");
|
mode = ui.findActor("mode");
|
||||||
@@ -211,15 +195,10 @@ public class NewGameScene extends UIScene {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void create() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
updateAvatar();
|
updateAvatar();
|
||||||
Gdx.input.setInputProcessor(stage); //Start taking input from the ui
|
|
||||||
|
|
||||||
if (Forge.createNewAdventureMap) {
|
if (Forge.createNewAdventureMap) {
|
||||||
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_ENABLE_MUSIC, false);
|
FModel.getPreferences().setPref(ForgePreferences.FPref.UI_ENABLE_MUSIC, false);
|
||||||
@@ -233,155 +212,8 @@ public class NewGameScene extends UIScene {
|
|||||||
GamePlayerUtil.getGuiPlayer().setName(selectedName.getText());
|
GamePlayerUtil.getGuiPlayer().setName(selectedName.getText());
|
||||||
Forge.switchScene(GameScene.instance());
|
Forge.switchScene(GameScene.instance());
|
||||||
}
|
}
|
||||||
clearActorObjects();
|
|
||||||
addActorObject(selectedName);
|
|
||||||
addActorObject(race);
|
|
||||||
addActorObject(gender);
|
|
||||||
addActorObject(difficulty);
|
|
||||||
addActorObject(colorId);
|
|
||||||
addActorObject(mode);
|
|
||||||
addActorObject(ui.findActor("back"));
|
|
||||||
addActorObject(ui.findActor("start"));
|
|
||||||
unselectActors();
|
unselectActors();
|
||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
@Override
|
|
||||||
public boolean pointerMoved(int screenX, int screenY) {
|
|
||||||
ui.screenToLocalCoordinates(pointer.set(screenX,screenY));
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
unselectActors();
|
|
||||||
showGamepadSelector = false;
|
|
||||||
}
|
|
||||||
if (kbVisible)
|
|
||||||
return super.pointerMoved(screenX, screenY);
|
|
||||||
updateHovered();
|
|
||||||
return super.pointerMoved(screenX, screenY);
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (Forge.hasGamepad())
|
|
||||||
showGamepadSelector = true;
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
if(!kbVisible)
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_SELECT) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if(!kbVisible)
|
|
||||||
performTouch(ui.findActor("back"));
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_START) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if(kbVisible)
|
|
||||||
keyOK();
|
|
||||||
else
|
|
||||||
performTouch(ui.findActor("start"));
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_L2) {
|
|
||||||
if(!kbVisible)
|
|
||||||
selectedName.setText(NameGenerator.getRandomName("Female", "Any", selectedName.getText()));
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_R2) {
|
|
||||||
if(!kbVisible)
|
|
||||||
selectedName.setText(NameGenerator.getRandomName("Male", "Any", selectedName.getText()));
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_L1) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible)
|
|
||||||
toggleShiftOrBackspace(true);
|
|
||||||
else
|
|
||||||
performTouch(ui.findActor("leftAvatar"));
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_R1) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if(kbVisible)
|
|
||||||
toggleShiftOrBackspace(false);
|
|
||||||
else
|
|
||||||
performTouch(ui.findActor("rightAvatar"));
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_DOWN) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
setSelectedKey(keycode);
|
|
||||||
} else {
|
|
||||||
if (selectedActor == mode)
|
|
||||||
selectActor(selectedName, false);
|
|
||||||
else if (selectedActor == ui.findActor("back"))
|
|
||||||
selectActor(ui.findActor("start"), false);
|
|
||||||
else if (selectedActor == ui.findActor("start"))
|
|
||||||
selectActor(ui.findActor("back"), false);
|
|
||||||
else
|
|
||||||
selectNextActor(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_UP) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
setSelectedKey(keycode);
|
|
||||||
} else {
|
|
||||||
if (selectedActor == selectedName)
|
|
||||||
selectActor(mode, false);
|
|
||||||
else if (selectedActor == ui.findActor("start"))
|
|
||||||
selectActor(ui.findActor("back"), false);
|
|
||||||
else if (selectedActor == ui.findActor("back"))
|
|
||||||
selectActor(ui.findActor("start"), false);
|
|
||||||
else
|
|
||||||
selectPreviousActor(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
setSelectedKey(keycode);
|
|
||||||
} else {
|
|
||||||
if (selectedActor == ui.findActor("back") || selectedActor == ui.findActor("start"))
|
|
||||||
selectActor(mode, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
setSelectedKey(keycode);
|
|
||||||
} else {
|
|
||||||
if (!(selectedActor == ui.findActor("back") || selectedActor == ui.findActor("start")))
|
|
||||||
selectActor(ui.findActor("start"), false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
if (selectedKey != null)
|
|
||||||
performTouch(selectedKey);
|
|
||||||
} else {
|
|
||||||
if (selectedActor != null) {
|
|
||||||
if (selectedActor instanceof TextraButton)
|
|
||||||
performTouch(selectedActor);
|
|
||||||
else if (selectedActor instanceof TextField && !kbVisible) {
|
|
||||||
lastInputField = selectedActor;
|
|
||||||
showOnScreenKeyboard("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_B) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if (kbVisible) {
|
|
||||||
hideOnScreenKeyboard();
|
|
||||||
} else {
|
|
||||||
performTouch(ui.findActor("back"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_X) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if(!kbVisible)
|
|
||||||
if (selectedActor != null && selectedActor instanceof Selector)
|
|
||||||
performTouch(((Selector) selectedActor).getLeftArrow());
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_Y) {
|
|
||||||
if (showGamepadSelector) {
|
|
||||||
if(!kbVisible)
|
|
||||||
if (selectedActor != null && selectedActor instanceof Selector)
|
|
||||||
performTouch(((Selector) selectedActor).getRightArrow());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
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.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
@@ -15,7 +14,6 @@ import forge.adventure.character.EnemySprite;
|
|||||||
import forge.adventure.data.EnemyData;
|
import forge.adventure.data.EnemyData;
|
||||||
import forge.adventure.data.WorldData;
|
import forge.adventure.data.WorldData;
|
||||||
import forge.adventure.player.AdventurePlayer;
|
import forge.adventure.player.AdventurePlayer;
|
||||||
import forge.adventure.stage.GameHUD;
|
|
||||||
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;
|
||||||
@@ -40,6 +38,7 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
TextraLabel 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");
|
||||||
|
|
||||||
@@ -89,29 +88,7 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_B)
|
|
||||||
performTouch(ui.findActor("return"));
|
|
||||||
else if (keycode == Input.Keys.BUTTON_A)
|
|
||||||
performTouch(selectedActor);
|
|
||||||
else if (keycode == Input.Keys.BUTTON_L1 || keycode == Input.Keys.DPAD_UP) {
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_R1 || keycode == Input.Keys.DPAD_DOWN) {
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT || keycode == Input.Keys.DPAD_RIGHT || keycode == Input.Keys.DPAD_UP || keycode == Input.Keys.DPAD_DOWN)
|
|
||||||
selectActor(back, false);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean back() {
|
|
||||||
GameHUD.getInstance().getTouchpad().setVisible(false);
|
|
||||||
Forge.switchToLast();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
private TextureRegion getColorFrame(ColorSet color){
|
private TextureRegion getColorFrame(ColorSet color){
|
||||||
String colorName= "color_";
|
String colorName= "color_";
|
||||||
if(color.hasWhite())
|
if(color.hasWhite())
|
||||||
@@ -188,9 +165,4 @@ public class PlayerStatisticScene extends UIScene {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void create() {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
import com.badlogic.gdx.Gdx;
|
||||||
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.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
@@ -53,9 +52,40 @@ public class RewardScene extends UIScene {
|
|||||||
|
|
||||||
goldLabel=ui.findActor("gold");
|
goldLabel=ui.findActor("gold");
|
||||||
ui.onButtonPress("done", () -> RewardScene.this.done());
|
ui.onButtonPress("done", () -> RewardScene.this.done());
|
||||||
|
ui.onButtonPress("detail",()->RewardScene.this.toggleToolTip());
|
||||||
doneButton = ui.findActor("done");
|
doneButton = ui.findActor("done");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void toggleToolTip() {
|
||||||
|
|
||||||
|
Selectable selectable=getSelected();
|
||||||
|
if(selectable==null)
|
||||||
|
return;
|
||||||
|
RewardActor actor;
|
||||||
|
if(selectable.actor instanceof BuyButton)
|
||||||
|
{
|
||||||
|
actor= ((BuyButton) selectable.actor).reward;
|
||||||
|
}
|
||||||
|
else if (selectable.actor instanceof RewardActor)
|
||||||
|
{
|
||||||
|
actor= (RewardActor) selectable.actor;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(actor.toolTipIsVisible())
|
||||||
|
{
|
||||||
|
actor.hideTooltip();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(!actor.isFlipped())
|
||||||
|
actor.showTooltip();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
boolean doneClicked = false, shown = false;
|
boolean doneClicked = false, shown = false;
|
||||||
float flipCountDown = 1.0f;
|
float flipCountDown = 1.0f;
|
||||||
float exitCountDown = 0.0f; //Serves as additional check for when scene is exiting, so you can't double tap too fast.
|
float exitCountDown = 0.0f; //Serves as additional check for when scene is exiting, so you can't double tap too fast.
|
||||||
@@ -139,59 +169,6 @@ public class RewardScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
done();
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_B || keycode == Input.Keys.BUTTON_START)
|
|
||||||
showLootOrDone();
|
|
||||||
else if (keycode == Input.Keys.BUTTON_A)
|
|
||||||
performTouch(selectedActor);
|
|
||||||
else if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
hideTooltips();
|
|
||||||
selectNextActor(false);
|
|
||||||
if (selectedActor != null && Type.Loot == type) {
|
|
||||||
selectedActor.fire(eventEnter);
|
|
||||||
}
|
|
||||||
showHideTooltips();
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
hideTooltips();
|
|
||||||
selectPreviousActor(false);
|
|
||||||
if (selectedActor != null && Type.Loot == type) {
|
|
||||||
selectedActor.fire(eventEnter);
|
|
||||||
}
|
|
||||||
showHideTooltips();
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_Y) {
|
|
||||||
showTooltips = !showTooltips;
|
|
||||||
showHideTooltips();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
private void showHideTooltips() {
|
|
||||||
if (selectedActor instanceof RewardActor) {
|
|
||||||
if (showTooltips) {
|
|
||||||
if (((RewardActor) selectedActor).isFlipped())
|
|
||||||
((RewardActor) selectedActor).showTooltip();
|
|
||||||
} else {
|
|
||||||
((RewardActor) selectedActor).hideTooltip();
|
|
||||||
}
|
|
||||||
} else if (selectedActor instanceof BuyButton) {
|
|
||||||
if (showTooltips)
|
|
||||||
((BuyButton) selectedActor).reward.showTooltip();
|
|
||||||
else
|
|
||||||
((BuyButton) selectedActor).reward.hideTooltip();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void hideTooltips() {
|
|
||||||
if (selectedActor instanceof RewardActor) {
|
|
||||||
((RewardActor) selectedActor).hideTooltip();
|
|
||||||
} else if (selectedActor instanceof BuyButton) {
|
|
||||||
((BuyButton) selectedActor).reward.hideTooltip();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void showLootOrDone() {
|
private void showLootOrDone() {
|
||||||
boolean exit = true;
|
boolean exit = true;
|
||||||
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
||||||
@@ -230,7 +207,7 @@ public class RewardScene extends UIScene {
|
|||||||
|
|
||||||
|
|
||||||
public void loadRewards(Array<Reward> newRewards, Type type, ShopActor shopActor) {
|
public void loadRewards(Array<Reward> newRewards, Type type, ShopActor shopActor) {
|
||||||
clearActorObjects();
|
clearSelectable();
|
||||||
this.type = type;
|
this.type = type;
|
||||||
doneClicked = false;
|
doneClicked = false;
|
||||||
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
||||||
@@ -244,7 +221,7 @@ public class RewardScene extends UIScene {
|
|||||||
|
|
||||||
Actor card = ui.findActor("cards");
|
Actor card = ui.findActor("cards");
|
||||||
if(type==Type.Shop) {
|
if(type==Type.Shop) {
|
||||||
goldLabel.setText("Gold:"+Current.player().getGold());
|
goldLabel.setText(Current.player().getGold()+"[+Gold]");
|
||||||
Actor background = ui.findActor("market_background");
|
Actor background = ui.findActor("market_background");
|
||||||
if(background!=null)
|
if(background!=null)
|
||||||
background.setVisible(true);
|
background.setVisible(true);
|
||||||
@@ -361,14 +338,14 @@ public class RewardScene extends UIScene {
|
|||||||
if (currentRow != ((i + 1) / numberOfColumns))
|
if (currentRow != ((i + 1) / numberOfColumns))
|
||||||
yOff += doneButton.getHeight();
|
yOff += doneButton.getHeight();
|
||||||
|
|
||||||
TextraButton buyCardButton = new BuyButton(shopActor.getObjectId(), i, shopActor.isUnlimited()?null:shopActor.getMapStage().getChanges(), actor, doneButton);
|
BuyButton 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);
|
||||||
addActorObject(buyCardButton);
|
addToSelectable(buyCardButton);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
addActorObject(actor);
|
addToSelectable(actor);
|
||||||
}
|
}
|
||||||
generated.add(actor);
|
generated.add(actor);
|
||||||
if (!skipCard) {
|
if (!skipCard) {
|
||||||
@@ -379,6 +356,7 @@ public class RewardScene extends UIScene {
|
|||||||
updateBuyButtons();
|
updateBuyButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void updateBuyButtons() {
|
private void updateBuyButtons() {
|
||||||
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
for (Actor actor : new Array.ArrayIterator<>(generated)) {
|
||||||
if (actor instanceof BuyButton) {
|
if (actor instanceof BuyButton) {
|
||||||
@@ -391,7 +369,7 @@ public class RewardScene extends UIScene {
|
|||||||
private final int objectID;
|
private final int objectID;
|
||||||
private final int index;
|
private final int index;
|
||||||
private final PointOfInterestChanges changes;
|
private final PointOfInterestChanges changes;
|
||||||
RewardActor reward;
|
public RewardActor reward;
|
||||||
int price;
|
int price;
|
||||||
|
|
||||||
void update() {
|
void update() {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
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;
|
||||||
@@ -34,19 +33,20 @@ 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<TextraButton> buttons = new IntMap<>();
|
private static final int NUMBEROFSAVESLOTS = 11;
|
||||||
|
private final IntMap<Selectable<TextraButton>> buttons = new IntMap<>();
|
||||||
IntMap<WorldSaveHeader> previews = new IntMap<>();
|
IntMap<WorldSaveHeader> previews = new IntMap<>();
|
||||||
Color defColor;
|
|
||||||
Table layout;
|
Table layout;
|
||||||
Modes mode;
|
Modes mode;
|
||||||
Dialog dialog;
|
|
||||||
TextField textInput;
|
TextField textInput;
|
||||||
TextraLabel header;
|
TextraLabel header;
|
||||||
int currentSlot = -3, lastSelectedSlot = 0;
|
int currentSlot = 0, lastSelectedSlot = 0;
|
||||||
Image previewImage;
|
Image previewImage;
|
||||||
TextraLabel previewDate;
|
TextraLabel previewDate;
|
||||||
Image previewBorder;
|
Image previewBorder;
|
||||||
TextraButton saveLoadButton, back, quickSave, autoSave, dialogSaveBtn, dialogAbortBtn;
|
TextraButton saveLoadButton, back;
|
||||||
|
Selectable<TextraButton> quickSave;
|
||||||
|
Selectable<TextraButton> autoSave;
|
||||||
Actor lastHighlightedSave;
|
Actor lastHighlightedSave;
|
||||||
SelectBox difficulty;
|
SelectBox difficulty;
|
||||||
ScrollPane scrollPane;
|
ScrollPane scrollPane;
|
||||||
@@ -56,7 +56,6 @@ public class SaveLoadScene extends UIScene {
|
|||||||
|
|
||||||
layout = new Table();
|
layout = new Table();
|
||||||
stage.addActor(layout);
|
stage.addActor(layout);
|
||||||
dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblSave"));
|
|
||||||
textInput = Controls.newTextField("");
|
textInput = Controls.newTextField("");
|
||||||
int c = 0;
|
int c = 0;
|
||||||
String[] diffList = new String[Config.instance().getConfigData().difficulties.length];
|
String[] diffList = new String[Config.instance().getConfigData().difficulties.length];
|
||||||
@@ -69,19 +68,7 @@ public class SaveLoadScene extends UIScene {
|
|||||||
//DifficultyData difficulty1 = Config.instance().getConfigData().difficulties[difficulty.getSelectedIndex()];
|
//DifficultyData difficulty1 = Config.instance().getConfigData().difficulties[difficulty.getSelectedIndex()];
|
||||||
return null;
|
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");
|
previewImage = ui.findActor("preview");
|
||||||
previewDate = ui.findActor("saveDate");
|
previewDate = ui.findActor("saveDate");
|
||||||
header = Controls.newTextraLabel(Forge.getLocalizer().getMessage("lblSave"));
|
header = Controls.newTextraLabel(Forge.getLocalizer().getMessage("lblSave"));
|
||||||
@@ -90,7 +77,7 @@ public class SaveLoadScene extends UIScene {
|
|||||||
layout.row();
|
layout.row();
|
||||||
autoSave = addSaveSlot(Forge.getLocalizer().getMessage("lblAutoSave"), WorldSave.AUTO_SAVE_SLOT);
|
autoSave = addSaveSlot(Forge.getLocalizer().getMessage("lblAutoSave"), WorldSave.AUTO_SAVE_SLOT);
|
||||||
quickSave = addSaveSlot(Forge.getLocalizer().getMessage("lblQuickSave"), WorldSave.QUICK_SAVE_SLOT);
|
quickSave = addSaveSlot(Forge.getLocalizer().getMessage("lblQuickSave"), WorldSave.QUICK_SAVE_SLOT);
|
||||||
for (int i = 1; i < 11; i++)
|
for (int i = 1; i < NUMBEROFSAVESLOTS; i++)
|
||||||
addSaveSlot(Forge.getLocalizer().getMessage("lblSlot") + ": " + i, i);
|
addSaveSlot(Forge.getLocalizer().getMessage("lblSlot") + ": " + i, i);
|
||||||
|
|
||||||
saveLoadButton = ui.findActor("save");
|
saveLoadButton = ui.findActor("save");
|
||||||
@@ -99,8 +86,6 @@ public class SaveLoadScene extends UIScene {
|
|||||||
back = ui.findActor("return");
|
back = ui.findActor("return");
|
||||||
ui.onButtonPress("return", () -> SaveLoadScene.this.back());
|
ui.onButtonPress("return", () -> SaveLoadScene.this.back());
|
||||||
|
|
||||||
defColor = saveLoadButton.getColor();
|
|
||||||
|
|
||||||
scrollPane = ui.findActor("saveSlots");
|
scrollPane = ui.findActor("saveSlots");
|
||||||
scrollPane.setActor(layout);
|
scrollPane.setActor(layout);
|
||||||
ui.addActor(difficulty);
|
ui.addActor(difficulty);
|
||||||
@@ -120,33 +105,58 @@ public class SaveLoadScene extends UIScene {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class SaveSlot extends Selectable<TextraButton>
|
||||||
|
{
|
||||||
|
private int slotNumber;
|
||||||
|
|
||||||
private TextraButton addSaveSlot(String name, int i) {
|
public SaveSlot( int slotNumber) {
|
||||||
layout.add(Controls.newLabel(name)).align(Align.left).pad(2, 5, 2, 10);
|
super(Controls.newTextButton("..."));
|
||||||
TextraButton button = Controls.newTextButton("...");
|
this.slotNumber = slotNumber;
|
||||||
button.addListener(new ClickListener() {
|
SaveSlot self=this;
|
||||||
@Override
|
actor.addListener(new ClickListener() {
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
@Override
|
||||||
try {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
if (!button.isDisabled())
|
try {
|
||||||
select(i);
|
if (!actor.isDisabled())
|
||||||
} catch (Exception e) {
|
{
|
||||||
e.printStackTrace();
|
selectActor(self);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
layout.add(button).fill(true,false).expand(true,false).align(Align.left).expandX();
|
@Override
|
||||||
|
public void onSelect(UIScene scene)
|
||||||
|
{
|
||||||
|
super.onSelect(scene);
|
||||||
|
updateSlot(slotNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private Selectable<TextraButton> addSaveSlot(String name, int i) {
|
||||||
|
layout.add(Controls.newLabel(name)).align(Align.left).pad(2, 5, 2, 10);
|
||||||
|
SaveSlot button = new SaveSlot(i);
|
||||||
|
layout.add(button.actor).fill(true,false).expand(true,false).align(Align.left).expandX();
|
||||||
buttons.put(i, button);
|
buttons.put(i, button);
|
||||||
layout.row();
|
layout.row();
|
||||||
|
addToSelectable(button) ;
|
||||||
return button;
|
return button;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void back() {
|
|
||||||
Forge.switchToLast();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean select(int slot) {
|
public boolean select(int slot) {
|
||||||
|
if(!buttons.containsKey(slot))
|
||||||
|
return false;
|
||||||
|
selectActor(buttons.get(slot));
|
||||||
|
return updateSlot(slot);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean updateSlot(int slot) {
|
||||||
|
|
||||||
currentSlot = slot;
|
currentSlot = slot;
|
||||||
if (slot > 0)
|
if (slot > 0)
|
||||||
lastSelectedSlot = slot;
|
lastSelectedSlot = slot;
|
||||||
@@ -169,14 +179,6 @@ public class SaveLoadScene extends UIScene {
|
|||||||
if (previewDate != null)
|
if (previewDate != null)
|
||||||
previewDate.setVisible(false);
|
previewDate.setVisible(false);
|
||||||
}
|
}
|
||||||
for (IntMap.Entry<TextraButton> butt : new IntMap.Entries<TextraButton>(buttons)) {
|
|
||||||
butt.value.setColor(defColor);
|
|
||||||
}
|
|
||||||
if (buttons.containsKey(slot)) {
|
|
||||||
TextraButton button = buttons.get(slot);
|
|
||||||
button.setColor(Color.RED);
|
|
||||||
selectActor(button, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -186,9 +188,16 @@ public class SaveLoadScene extends UIScene {
|
|||||||
case Save:
|
case Save:
|
||||||
if (currentSlot > 0) {
|
if (currentSlot > 0) {
|
||||||
//prevent NPE, allowed saveslot is 1 to 10..
|
//prevent NPE, allowed saveslot is 1 to 10..
|
||||||
textInput.setText(buttons.get(currentSlot).getText().toString());
|
textInput.setText(buttons.get(currentSlot).actor.getText().toString());
|
||||||
dialog.show(stage);
|
|
||||||
selectActor(textInput, false);
|
Dialog dialog=prepareDialog(Forge.getLocalizer().getMessage("lblSave"),ButtonOk|ButtonAbort,() -> SaveLoadScene.this.save());
|
||||||
|
|
||||||
|
dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblNameYourSaveFile"))).colspan(2).pad(2, 15, 2, 15);
|
||||||
|
dialog.getContentTable().row();
|
||||||
|
dialog.getContentTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblName") + ": ")).align(Align.left).pad(2, 15, 2, 2);
|
||||||
|
dialog.getContentTable().add(textInput).fillX().expandX().padRight(15);
|
||||||
|
dialog.getContentTable().row();
|
||||||
|
showDialog(dialog);
|
||||||
stage.setKeyboardFocus(textInput);
|
stage.setKeyboardFocus(textInput);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -228,143 +237,11 @@ public class SaveLoadScene extends UIScene {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean saveAbort() {
|
|
||||||
dialog.hide();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
back();
|
|
||||||
}
|
|
||||||
if (kbVisible) {
|
|
||||||
if (keycode == Input.Keys.BUTTON_START)
|
|
||||||
keyOK();
|
|
||||||
else if (keycode == Input.Keys.BUTTON_L1)
|
|
||||||
toggleShiftOrBackspace(true);
|
|
||||||
else if (keycode == Input.Keys.BUTTON_R1)
|
|
||||||
toggleShiftOrBackspace(false);
|
|
||||||
else if (keycode == Input.Keys.BUTTON_B)
|
|
||||||
hideOnScreenKeyboard();
|
|
||||||
else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
if (selectedKey != null)
|
|
||||||
performTouch(selectedKey);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_UP || keycode == Input.Keys.DPAD_DOWN || keycode == Input.Keys.DPAD_LEFT || keycode == Input.Keys.DPAD_RIGHT)
|
|
||||||
setSelectedKey(keycode);
|
|
||||||
} else if (dialog.getColor().a != 0f) {
|
|
||||||
if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
if (selectedActor == textInput) {
|
|
||||||
lastInputField = textInput;
|
|
||||||
showOnScreenKeyboard(textInput.getText());
|
|
||||||
} else if (selectedActor == dialogAbortBtn || selectedActor == dialogSaveBtn) {
|
|
||||||
performTouch(selectedActor);
|
|
||||||
if (lastSelectedSlot > 0)
|
|
||||||
select(lastSelectedSlot);
|
|
||||||
else
|
|
||||||
select(-3);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_B) {
|
|
||||||
performTouch(dialogAbortBtn);
|
|
||||||
if (lastSelectedSlot > 0)
|
|
||||||
select(lastSelectedSlot);
|
|
||||||
else
|
|
||||||
select(-3);
|
|
||||||
}
|
|
||||||
else if (keycode == Input.Keys.DPAD_DOWN) {
|
|
||||||
if (selectedActor == null) {
|
|
||||||
selectActor(textInput, false);
|
|
||||||
} else if (selectedActor == textInput)
|
|
||||||
selectActor(dialogSaveBtn, false);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_UP) {
|
|
||||||
if (selectedActor == null)
|
|
||||||
selectActor(dialogSaveBtn, false);
|
|
||||||
else if (selectedActor == dialogSaveBtn || selectedActor == dialogAbortBtn) {
|
|
||||||
selectActor(textInput, false);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
if (selectedActor == dialogAbortBtn)
|
|
||||||
selectActor(dialogSaveBtn, false);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
if (selectedActor == dialogSaveBtn)
|
|
||||||
selectActor(dialogAbortBtn, false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (keycode == Input.Keys.BUTTON_B)
|
|
||||||
performTouch(back);
|
|
||||||
else if (keycode == Input.Keys.BUTTON_Y) {
|
|
||||||
if (difficulty != null && difficulty.isVisible()) {
|
|
||||||
int index = difficulty.getSelectedIndex()-1;
|
|
||||||
if (index < 0)
|
|
||||||
index = 0;
|
|
||||||
difficulty.setSelectedIndex(index);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_X) {
|
|
||||||
if (difficulty != null && difficulty.isVisible()) {
|
|
||||||
int index = difficulty.getSelectedIndex()+1;
|
|
||||||
if (index >= 2)
|
|
||||||
index = 2;
|
|
||||||
difficulty.setSelectedIndex(index);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_L1) {
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_R1) {
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
performTouch(selectedActor);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
if (selectedActor == back || selectedActor == saveLoadButton) {
|
|
||||||
if (lastHighlightedSave != null)
|
|
||||||
selectActor(lastHighlightedSave, false);
|
|
||||||
else
|
|
||||||
selectActor(actorObjectMap.get(0), false);
|
|
||||||
lastHighlightedSave = selectedActor;
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
if (!(selectedActor == back || selectedActor == saveLoadButton)) {
|
|
||||||
lastHighlightedSave = selectedActor;
|
|
||||||
selectActor(saveLoadButton, false);
|
|
||||||
}
|
|
||||||
} else if (keycode == Input.Keys.DPAD_DOWN) {
|
|
||||||
int index = mode == Modes.Save ? 9 : 11;
|
|
||||||
if (selectedActor == back)
|
|
||||||
selectActor(saveLoadButton, false);
|
|
||||||
else if (selectedActorIndex == index) {
|
|
||||||
selectActor(actorObjectMap.get(0), false);
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
} else {
|
|
||||||
selectNextActor(false);
|
|
||||||
}
|
|
||||||
if (selectedActorIndex == 6)
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
if (!(selectedActor == back || selectedActor == saveLoadButton))
|
|
||||||
lastHighlightedSave = selectedActor;
|
|
||||||
} else if (keycode == Input.Keys.DPAD_UP) {
|
|
||||||
if (selectedActor == saveLoadButton)
|
|
||||||
selectActor(back, false);
|
|
||||||
else if (selectedActorIndex == 0) {
|
|
||||||
selectActor(buttons.get(10), false);
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
} else {
|
|
||||||
selectPreviousActor(false);
|
|
||||||
}
|
|
||||||
if (selectedActorIndex == 5)
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
if (!(selectedActor == back || selectedActor == saveLoadButton))
|
|
||||||
lastHighlightedSave = selectedActor;
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_START) {
|
|
||||||
performTouch(saveLoadButton);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void save() {
|
public void save() {
|
||||||
dialog.hide();
|
|
||||||
if (WorldSave.getCurrentSave().save(textInput.getText(), currentSlot)) {
|
if (WorldSave.getCurrentSave().save(textInput.getText(), currentSlot)) {
|
||||||
updateFiles();
|
updateFiles();
|
||||||
//ensure the dialog is hidden before switching
|
//ensure the dialog is hidden before switching
|
||||||
dialog.getColor().a = 0f;
|
|
||||||
|
|
||||||
Scene restoreScene = Forge.switchToLast();
|
Scene restoreScene = Forge.switchToLast();
|
||||||
if (restoreScene != null) {
|
if (restoreScene != null) {
|
||||||
@@ -398,7 +275,7 @@ public class SaveLoadScene extends UIScene {
|
|||||||
|
|
||||||
int slot = WorldSave.filenameToSlot(name.getName());
|
int slot = WorldSave.filenameToSlot(name.getName());
|
||||||
WorldSaveHeader header = (WorldSaveHeader) oos.readObject();
|
WorldSaveHeader header = (WorldSaveHeader) oos.readObject();
|
||||||
buttons.get(slot).setText(header.name);
|
buttons.get(slot).actor.setText(header.name);
|
||||||
previews.put(slot, header);
|
previews.put(slot, header);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -432,22 +309,18 @@ public class SaveLoadScene extends UIScene {
|
|||||||
saveLoadButton.setText(Forge.getLocalizer().getMessage("lblStart"));
|
saveLoadButton.setText(Forge.getLocalizer().getMessage("lblStart"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
autoSave.setDisabled(mode == Modes.Save);
|
autoSave.actor.setDisabled(mode == Modes.Save);
|
||||||
quickSave.setDisabled(mode == Modes.Save);
|
quickSave.actor.setDisabled(mode == Modes.Save);
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
unselectActors();
|
unselectActors();
|
||||||
clearActorObjects();
|
select(lastSelectedSlot);
|
||||||
if (lastSelectedSlot > 0)
|
|
||||||
select(lastSelectedSlot);
|
|
||||||
else
|
|
||||||
select(-3);
|
|
||||||
updateFiles();
|
updateFiles();
|
||||||
autoSave.setText(Forge.getLocalizer().getMessage("lblAutoSave"));
|
autoSave.actor.setText(Forge.getLocalizer().getMessage("lblAutoSave"));
|
||||||
quickSave.setText(Forge.getLocalizer().getMessage("lblQuickSave"));
|
quickSave.actor.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);
|
||||||
@@ -458,28 +331,6 @@ public class SaveLoadScene extends UIScene {
|
|||||||
difficulty.setVisible(false);
|
difficulty.setVisible(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!autoSave.isDisabled())
|
|
||||||
addActorObject(autoSave);
|
|
||||||
if (!quickSave.isDisabled())
|
|
||||||
addActorObject(quickSave);
|
|
||||||
for (int i=0; i <= 10; i++) {
|
|
||||||
if (buttons.containsKey(i))
|
|
||||||
addActorObject(buttons.get(i));
|
|
||||||
}
|
|
||||||
addActorObject(textInput);
|
|
||||||
addActorObject(dialogSaveBtn);
|
|
||||||
addActorObject(dialogAbortBtn);
|
|
||||||
addActorObject(back);
|
|
||||||
addActorObject(saveLoadButton);
|
|
||||||
if (scrollPane != null) {
|
|
||||||
if (lastSelectedSlot >= 6) {
|
|
||||||
scrollPane.fling(1f, 0, -300);
|
|
||||||
selectActor(buttons.get(lastSelectedSlot), false);
|
|
||||||
} else if (lastSelectedSlot > 0 && lastSelectedSlot < 6) {
|
|
||||||
scrollPane.fling(1f, 0, +300);
|
|
||||||
selectActor(buttons.get(lastSelectedSlot), false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.graphics.Texture;
|
import com.badlogic.gdx.controllers.Controller;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
|
import com.badlogic.gdx.controllers.ControllerListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
import com.badlogic.gdx.utils.Disposable;
|
import com.badlogic.gdx.utils.Disposable;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.util.Config;
|
import forge.adventure.util.Config;
|
||||||
@@ -10,9 +10,44 @@ import forge.adventure.util.Config;
|
|||||||
/**
|
/**
|
||||||
* Base class for all rendered scenes
|
* Base class for all rendered scenes
|
||||||
*/
|
*/
|
||||||
public abstract class Scene<T> implements Disposable {
|
public abstract class Scene implements Disposable {
|
||||||
|
|
||||||
|
static class SceneControllerListener implements ControllerListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void connected(Controller controller) {
|
||||||
|
Forge.getCurrentScene().connected(controller);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disconnected(Controller controller) {
|
||||||
|
Forge.getCurrentScene().disconnected(controller);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean buttonDown(Controller controller, int i) {
|
||||||
|
return Forge.getCurrentScene().buttonDown(controller,i);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean buttonUp(Controller controller, int i) {
|
||||||
|
return Forge.getCurrentScene().buttonUp(controller,i);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean axisMoved(Controller controller, int i, float v) {
|
||||||
|
return Forge.getCurrentScene().axisMoved(controller,i,v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static private SceneControllerListener listener=null;
|
||||||
public Scene() {
|
public Scene() {
|
||||||
|
if(listener==null)
|
||||||
|
{
|
||||||
|
listener=new SceneControllerListener();
|
||||||
|
Controllers.addListener(listener);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getIntendedWidth() {
|
public static int getIntendedWidth() {
|
||||||
@@ -25,21 +60,34 @@ public abstract class Scene<T> implements Disposable {
|
|||||||
|
|
||||||
public abstract void act(float delta);
|
public abstract void act(float delta);
|
||||||
public abstract void render();
|
public abstract void render();
|
||||||
|
|
||||||
public void create() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public Drawable DrawableImage(String path) {
|
|
||||||
return new TextureRegionDrawable(new Texture(Config.instance().getFile(path)));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public boolean leave() {
|
public boolean leave() {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enter() {
|
public void enter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void connected(Controller controller) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void disconnected(Controller controller) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean buttonDown(Controller controller, int buttonIndex) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean buttonUp(Controller controller, int buttonIndex) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean axisMoved(Controller controller, int axisIndex, float value) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
|
||||||
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.InputEvent;
|
import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
||||||
@@ -13,7 +12,6 @@ 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;
|
||||||
import forge.adventure.util.UIActor;
|
|
||||||
import forge.gui.GuiBase;
|
import forge.gui.GuiBase;
|
||||||
import forge.localinstance.properties.ForgePreferences;
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
@@ -59,24 +57,24 @@ public class SettingsScene extends UIScene {
|
|||||||
}
|
}
|
||||||
if(somethingWentWrong.get())
|
if(somethingWentWrong.get())
|
||||||
{
|
{
|
||||||
Dialog dialog=ui.showDialog(stage,"Something went wrong", UIActor.ButtonOk|UIActor.ButtonAbort,null);
|
Dialog dialog=prepareDialog("Something went wrong", ButtonOk|ButtonAbort,null);
|
||||||
dialog.text("Copy was not successful check your access right\n and if the folder is in use");
|
dialog.text("Copy was not successful check your access right\n and if the folder is in use");
|
||||||
dialog.show(stage);
|
showDialog(dialog);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Dialog dialog=ui.showDialog(stage,"Copied plane", UIActor.ButtonOk|UIActor.ButtonAbort,null);
|
Dialog dialog=prepareDialog("Copied plane", ButtonOk|ButtonAbort,null);
|
||||||
dialog.text("New plane "+newPlaneName.getText()+" was created\nYou can now start the editor to change the plane\n" +
|
dialog.text("New plane "+newPlaneName.getText()+" was created\nYou can now start the editor to change the plane\n" +
|
||||||
"or edit it manually from the folder\n" +
|
"or edit it manually from the folder\n" +
|
||||||
Config.instance().getPlanePath("<user>"+newPlaneName.getText()));
|
Config.instance().getPlanePath("<user>"+newPlaneName.getText()));
|
||||||
Config.instance().getSettingData().plane = "<user>"+newPlaneName.getText();
|
Config.instance().getSettingData().plane = "<user>"+newPlaneName.getText();
|
||||||
Config.instance().saveSettings();
|
Config.instance().saveSettings();
|
||||||
dialog.show(stage);
|
showDialog(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void createNewPlane() {
|
private void createNewPlane() {
|
||||||
Dialog dialog=ui.showDialog(stage,"Create your own Plane", UIActor.ButtonOk|UIActor.ButtonAbort,()->copyNewPlane());
|
Dialog dialog=prepareDialog("Create your own Plane", ButtonOk|ButtonAbort,()->copyNewPlane());
|
||||||
dialog.text("Select a plane to copy");
|
dialog.text("Select a plane to copy");
|
||||||
dialog.getContentTable().row();
|
dialog.getContentTable().row();
|
||||||
dialog.getContentTable().add(selectSourcePlane);
|
dialog.getContentTable().add(selectSourcePlane);
|
||||||
@@ -91,7 +89,7 @@ public class SettingsScene extends UIScene {
|
|||||||
private SettingsScene() {
|
private SettingsScene() {
|
||||||
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
super(Forge.isLandscapeMode() ? "ui/settings.json" : "ui/settings_portrait.json");
|
||||||
|
|
||||||
selectSourcePlane = new SelectBox<String>(Controls.getSkin());
|
selectSourcePlane = Controls.newComboBox();
|
||||||
newPlaneName = Controls.newTextField("");
|
newPlaneName = Controls.newTextField("");
|
||||||
settingGroup = new Table();
|
settingGroup = new Table();
|
||||||
if (Preference == null) {
|
if (Preference == null) {
|
||||||
@@ -237,24 +235,11 @@ public class SettingsScene extends UIScene {
|
|||||||
|
|
||||||
ScrollPane scrollPane = ui.findActor("settings");
|
ScrollPane scrollPane = ui.findActor("settings");
|
||||||
scrollPane.setActor(settingGroup);
|
scrollPane.setActor(settingGroup);
|
||||||
|
addToSelectable(settingGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.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;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean back() {
|
public boolean back() {
|
||||||
Forge.switchToLast();
|
Forge.switchToLast();
|
||||||
@@ -346,9 +331,4 @@ public class SettingsScene extends UIScene {
|
|||||||
stage.dispose();
|
stage.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void create() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package forge.adventure.scene;
|
package forge.adventure.scene;
|
||||||
|
|
||||||
import com.badlogic.gdx.Gdx;
|
|
||||||
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.utils.Align;
|
|
||||||
import com.github.tommyettinger.textra.TextraButton;
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.stage.GameHUD;
|
import forge.adventure.stage.GameHUD;
|
||||||
@@ -11,7 +8,6 @@ import forge.adventure.stage.GameStage;
|
|||||||
import forge.adventure.stage.MapStage;
|
import forge.adventure.stage.MapStage;
|
||||||
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.world.WorldSave;
|
import forge.adventure.world.WorldSave;
|
||||||
import forge.screens.TransitionScreen;
|
import forge.screens.TransitionScreen;
|
||||||
|
|
||||||
@@ -21,42 +17,29 @@ import forge.screens.TransitionScreen;
|
|||||||
public class StartScene extends UIScene {
|
public class StartScene extends UIScene {
|
||||||
|
|
||||||
private static StartScene object;
|
private static StartScene object;
|
||||||
TextraButton saveButton, resumeButton, continueButton, newGameButton, newGameButtonPlus, loadButton, settingsButton, exitButton, switchButton, dialogOk, dialogCancel, dialogButtonSelected;
|
TextraButton saveButton, resumeButton, continueButton;
|
||||||
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");
|
||||||
ui.onButtonPress("Start", () -> StartScene.this.NewGame());
|
ui.onButtonPress("Start", StartScene.this::NewGame);
|
||||||
ui.onButtonPress("Start+", () -> NewGamePlus());
|
ui.onButtonPress("Start+", this::NewGamePlus);
|
||||||
ui.onButtonPress("Load", () -> StartScene.this.Load());
|
ui.onButtonPress("Load", StartScene.this::Load);
|
||||||
ui.onButtonPress("Save", () -> StartScene.this.Save());
|
ui.onButtonPress("Save", StartScene.this::Save);
|
||||||
ui.onButtonPress("Resume", () -> StartScene.this.Resume());
|
ui.onButtonPress("Resume", StartScene.this::Resume);
|
||||||
ui.onButtonPress("Continue", () -> StartScene.this.Continue());
|
ui.onButtonPress("Continue", StartScene.this::Continue);
|
||||||
ui.onButtonPress("Settings", () -> StartScene.this.settings());
|
ui.onButtonPress("Settings", StartScene.this::settings);
|
||||||
ui.onButtonPress("Exit", () -> StartScene.this.Exit());
|
ui.onButtonPress("Exit", StartScene.this::Exit);
|
||||||
ui.onButtonPress("Switch", () -> Forge.switchToClassic());
|
ui.onButtonPress("Switch", Forge::switchToClassic);
|
||||||
|
|
||||||
|
|
||||||
newGameButton = ui.findActor("Start");
|
|
||||||
loadButton = ui.findActor("Load");
|
|
||||||
saveButton = ui.findActor("Save");
|
saveButton = ui.findActor("Save");
|
||||||
resumeButton = ui.findActor("Resume");
|
resumeButton = ui.findActor("Resume");
|
||||||
continueButton = ui.findActor("Continue");
|
continueButton = ui.findActor("Continue");
|
||||||
settingsButton = ui.findActor("Settings");
|
|
||||||
exitButton = ui.findActor("Exit");
|
|
||||||
switchButton = ui.findActor("Switch");
|
|
||||||
|
|
||||||
saveButton.setVisible(false);
|
saveButton.setVisible(false);
|
||||||
resumeButton.setVisible(false);
|
resumeButton.setVisible(false);
|
||||||
dialog = Controls.newDialog(Forge.getLocalizer().getMessage("lblExitForge"));
|
|
||||||
dialog.getButtonTable().add(Controls.newLabel(Forge.getLocalizer().getMessage("lblAreYouSureYouWishExitForge"))).colspan(2).pad(2, 15, 2, 15);
|
|
||||||
dialog.getButtonTable().row();
|
|
||||||
dialogOk = Controls.newTextButton(Forge.getLocalizer().getMessage("lblExit"), () -> Forge.exit(true));
|
|
||||||
dialogButtonSelected = dialogOk;
|
|
||||||
dialog.getButtonTable().add(dialogOk).width(60).align(Align.left).padLeft(15);
|
|
||||||
dialogCancel = Controls.newTextButton(Forge.getLocalizer().getMessage("lblCancel"), () -> dialog.hide());
|
|
||||||
dialog.getButtonTable().add(dialogCancel).width(60).align(Align.right).padRight(15);
|
|
||||||
dialog.getColor().a = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StartScene instance() {
|
public static StartScene instance() {
|
||||||
@@ -117,8 +100,9 @@ public class StartScene extends UIScene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean Exit() {
|
public boolean Exit() {
|
||||||
if (dialog != null)
|
Dialog dialog = prepareDialog(Forge.getLocalizer().getMessage("lblExitForge"), ButtonOk|ButtonAbort,()->Forge.exit(true));
|
||||||
dialog.show(stage);
|
dialog.text( Controls.newLabel(Forge.getLocalizer().getMessage("lblAreYouSureYouWishExitForge")));
|
||||||
|
showDialog(dialog);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,233 +129,16 @@ public class StartScene extends UIScene {
|
|||||||
continueButton.setVisible(false);
|
continueButton.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Gdx.input.setInputProcessor(stage); //Start taking input from the ui
|
|
||||||
|
|
||||||
if(Forge.createNewAdventureMap)
|
if(Forge.createNewAdventureMap)
|
||||||
{
|
{
|
||||||
this.NewGame();
|
this.NewGame();
|
||||||
Current.setDebug(true);
|
|
||||||
GameStage.maximumScrollDistance=4f;
|
GameStage.maximumScrollDistance=4f;
|
||||||
}
|
}
|
||||||
|
|
||||||
super.enter();
|
super.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void create() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean keyPressed(int keycode) {
|
|
||||||
if (Forge.hasGamepad())
|
|
||||||
showGamepadSelector = true;
|
|
||||||
if (dialog.getColor().a != 1) {
|
|
||||||
if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) {
|
|
||||||
if (WorldSave.getCurrentSave().getWorld().getData() != null) {
|
|
||||||
if (showGamepadSelector)
|
|
||||||
performTouch(resumeButton);
|
|
||||||
else
|
|
||||||
Resume();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.DPAD_DOWN) {
|
|
||||||
selected++;
|
|
||||||
if (selected == 1 && Forge.isLandscapeMode())
|
|
||||||
selected++;
|
|
||||||
if (!saveButton.isVisible() && selected == 3)
|
|
||||||
selected++;
|
|
||||||
if (!resumeButton.isVisible() && selected == 4)
|
|
||||||
selected++;
|
|
||||||
if (!continueButton.isVisible() && selected == 5)
|
|
||||||
selected++;
|
|
||||||
if (selected > 7 && Forge.isLandscapeMode())
|
|
||||||
selected = 0;
|
|
||||||
if (selected > 8 && !Forge.isLandscapeMode())
|
|
||||||
selected = 8;
|
|
||||||
setSelected(selected, false);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_UP) {
|
|
||||||
selected--;
|
|
||||||
if (selected == 7 && Forge.isLandscapeMode())
|
|
||||||
selected--;
|
|
||||||
if (!continueButton.isVisible() && selected == 5)
|
|
||||||
selected--;
|
|
||||||
if (!resumeButton.isVisible() && selected == 4)
|
|
||||||
selected--;
|
|
||||||
if (!saveButton.isVisible() && selected == 3)
|
|
||||||
selected--;
|
|
||||||
if (selected == 1 && Forge.isLandscapeMode())
|
|
||||||
selected--;
|
|
||||||
if (selected < 0)
|
|
||||||
selected = Forge.isLandscapeMode() ? 7 : 0;
|
|
||||||
setSelected(selected, false);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_RIGHT && Forge.isLandscapeMode()) {
|
|
||||||
if (selected == 0 || selected == 7)
|
|
||||||
selected++;
|
|
||||||
if (selected > 8)
|
|
||||||
selected = 8;
|
|
||||||
setSelected(selected, false);
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT && Forge.isLandscapeMode()) {
|
|
||||||
if (selected == 1 || selected == 8)
|
|
||||||
selected--;
|
|
||||||
if (selected < 0)
|
|
||||||
selected = 0;
|
|
||||||
setSelected(selected, false);
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_A)
|
|
||||||
setSelected(selected, true);
|
|
||||||
} else {
|
|
||||||
if (keycode == Input.Keys.DPAD_RIGHT) {
|
|
||||||
dialogOk.fire(eventExit);
|
|
||||||
dialogCancel.fire(eventEnter);
|
|
||||||
dialogButtonSelected = dialogCancel;
|
|
||||||
} else if (keycode == Input.Keys.DPAD_LEFT) {
|
|
||||||
dialogOk.fire(eventEnter);
|
|
||||||
dialogCancel.fire(eventExit);
|
|
||||||
dialogButtonSelected = dialogOk;
|
|
||||||
} else if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
dialogOk.fire(eventExit);
|
|
||||||
dialogCancel.fire(eventExit);
|
|
||||||
performTouch(dialogButtonSelected);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
private void setSelected(int select, boolean press) {
|
|
||||||
if (!showGamepadSelector)
|
|
||||||
return;
|
|
||||||
unSelectAll();
|
|
||||||
switch (select) {
|
|
||||||
case 0:
|
|
||||||
newGameButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(newGameButton);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
newGameButtonPlus.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(newGameButtonPlus);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
loadButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(loadButton);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
saveButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(saveButton);
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
resumeButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(resumeButton);
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
continueButton.fire(eventEnter);
|
|
||||||
if (press) {
|
|
||||||
performTouch(continueButton);
|
|
||||||
setSelected(4, false);
|
|
||||||
selected = 4;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
settingsButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(settingsButton);
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
if (Forge.isLandscapeMode()) {
|
|
||||||
exitButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(exitButton);
|
|
||||||
} else {
|
|
||||||
switchButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(switchButton);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
if (Forge.isLandscapeMode()) {
|
|
||||||
switchButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(switchButton);
|
|
||||||
} else {
|
|
||||||
exitButton.fire(eventEnter);
|
|
||||||
if (press)
|
|
||||||
performTouch(exitButton);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void unSelectAll() {
|
|
||||||
if (!showGamepadSelector)
|
|
||||||
return;
|
|
||||||
newGameButton.fire(eventExit);
|
|
||||||
newGameButtonPlus.fire(eventExit);
|
|
||||||
loadButton.fire(eventExit);
|
|
||||||
saveButton.fire(eventExit);
|
|
||||||
resumeButton.fire(eventExit);
|
|
||||||
continueButton.fire(eventExit);
|
|
||||||
settingsButton.fire(eventExit);
|
|
||||||
exitButton.fire(eventExit);
|
|
||||||
switchButton.fire(eventExit);
|
|
||||||
dialogOk.fire(eventExit);
|
|
||||||
dialogCancel.fire(eventExit);
|
|
||||||
}
|
|
||||||
private void updateSelected() {
|
|
||||||
if (dialog.getColor().a == 1) {
|
|
||||||
if (Controls.actorContainsVector(dialogOk, pointer)) {
|
|
||||||
dialogCancel.fire(eventExit);
|
|
||||||
dialogOk.fire(eventEnter);
|
|
||||||
dialogButtonSelected = dialogOk;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(dialogCancel, pointer)) {
|
|
||||||
dialogOk.fire(eventExit);
|
|
||||||
dialogCancel.fire(eventEnter);
|
|
||||||
dialogButtonSelected = dialogCancel;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(newGameButton, pointer)) {
|
|
||||||
newGameButton.fire(eventEnter);
|
|
||||||
selected = 0;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(newGameButtonPlus, pointer)) {
|
|
||||||
newGameButtonPlus.fire(eventEnter);
|
|
||||||
selected = 1;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(loadButton, pointer)) {
|
|
||||||
loadButton.fire(eventEnter);
|
|
||||||
selected = 2;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(saveButton, pointer)) {
|
|
||||||
saveButton.fire(eventEnter);
|
|
||||||
selected = 3;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(resumeButton, pointer)) {
|
|
||||||
resumeButton.fire(eventEnter);
|
|
||||||
selected = 4;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(continueButton, pointer)) {
|
|
||||||
continueButton.fire(eventEnter);
|
|
||||||
selected = 5;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(settingsButton, pointer)) {
|
|
||||||
settingsButton.fire(eventEnter);
|
|
||||||
selected = 6;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(exitButton, pointer)) {
|
|
||||||
exitButton.fire(eventEnter);
|
|
||||||
selected = Forge.isLandscapeMode() ? 7 : 8;
|
|
||||||
}
|
|
||||||
if (Controls.actorContainsVector(switchButton, pointer)) {
|
|
||||||
switchButton.fire(eventEnter);
|
|
||||||
selected = Forge.isLandscapeMode() ? 8 : 7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void NewGamePlus() {
|
private void NewGamePlus() {
|
||||||
SaveLoadScene.instance().setMode(SaveLoadScene.Modes.NewGamePlus);
|
SaveLoadScene.instance().setMode(SaveLoadScene.Modes.NewGamePlus);
|
||||||
Forge.switchScene(SaveLoadScene.instance());
|
Forge.switchScene(SaveLoadScene.instance());
|
||||||
|
|||||||
@@ -178,6 +178,15 @@ public static ConsoleCommandInterpreter getInstance()
|
|||||||
Current.player().addMaxLife(amount);
|
Current.player().addMaxLife(amount);
|
||||||
return "Added " + amount + " max life";
|
return "Added " + amount + " max life";
|
||||||
});
|
});
|
||||||
|
registerCommand(new String[]{"leave"}, s -> {
|
||||||
|
if(!MapStage.getInstance().isInMap()) return "not on a map";
|
||||||
|
MapStage.getInstance().exit();
|
||||||
|
return "Got out";
|
||||||
|
});
|
||||||
|
registerCommand(new String[]{"debug","collision"}, s -> {
|
||||||
|
currentGameStage().debugCollision(true);
|
||||||
|
return "Got out";
|
||||||
|
});
|
||||||
registerCommand(new String[]{"give", "card"}, s -> {
|
registerCommand(new String[]{"give", "card"}, s -> {
|
||||||
//TODO: Specify optional amount.
|
//TODO: Specify optional amount.
|
||||||
if(s.length<1) return "Command needs 1 parameter: Card name.";
|
if(s.length<1) return "Command needs 1 parameter: Card name.";
|
||||||
@@ -290,13 +299,14 @@ public static ConsoleCommandInterpreter getInstance()
|
|||||||
Current.player().addManaPercent(1.0f);
|
Current.player().addManaPercent(1.0f);
|
||||||
return "Player healed to " + Current.player().getLife() + "/" + Current.player().getMaxLife();
|
return "Player healed to " + Current.player().getLife() + "/" + Current.player().getMaxLife();
|
||||||
});
|
});
|
||||||
registerCommand(new String[]{"debug","on"}, s -> {
|
registerCommand(new String[]{"debug","map"}, s -> {
|
||||||
Current.setDebug(true);
|
GameHUD.getInstance().setDebug(true);
|
||||||
return "Debug mode ON";
|
return "Debug map ON";
|
||||||
});
|
});
|
||||||
registerCommand(new String[]{"debug","off"}, s -> {
|
registerCommand(new String[]{"debug","off"}, s -> {
|
||||||
Current.setDebug(false);
|
GameHUD.getInstance().setDebug(true);
|
||||||
return "Debug mode OFF";
|
currentGameStage().debugCollision(false);
|
||||||
|
return "Debug OFF";
|
||||||
});
|
});
|
||||||
registerCommand(new String[]{"remove","enemy","all"}, s -> {
|
registerCommand(new String[]{"remove","enemy","all"}, s -> {
|
||||||
//TODO: Remove all overworld enemies if not inside a map.
|
//TODO: Remove all overworld enemies if not inside a map.
|
||||||
|
|||||||
@@ -2,9 +2,6 @@ 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;
|
||||||
@@ -13,6 +10,7 @@ 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.Button;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
import com.badlogic.gdx.scenes.scene2d.ui.Image;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.Touchpad;
|
import com.badlogic.gdx.scenes.scene2d.ui.Touchpad;
|
||||||
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ActorGestureListener;
|
||||||
@@ -38,7 +36,7 @@ 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 implements ControllerListener {
|
public class GameHUD extends Stage {
|
||||||
|
|
||||||
static public GameHUD instance;
|
static public GameHUD instance;
|
||||||
private final GameStage gameStage;
|
private final GameStage gameStage;
|
||||||
@@ -54,12 +52,13 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
private final TextraButton menuActor;
|
private final TextraButton menuActor;
|
||||||
private final TextraButton statsActor;
|
private final TextraButton statsActor;
|
||||||
private final TextraButton inventoryActor;
|
private final TextraButton inventoryActor;
|
||||||
private final UIActor ui;
|
public final UIActor ui;
|
||||||
private final Touchpad touchpad;
|
private final Touchpad touchpad;
|
||||||
private final Console console;
|
private final Console console;
|
||||||
float TOUCHPAD_SCALE = 70f, referenceX;
|
float TOUCHPAD_SCALE = 70f, referenceX;
|
||||||
boolean isHiding = false, isShowing = false;
|
boolean isHiding = false, isShowing = false;
|
||||||
float opacity = 1f;
|
float opacity = 1f;
|
||||||
|
private boolean debugMap;
|
||||||
|
|
||||||
private GameHUD(GameStage gameStage) {
|
private GameHUD(GameStage gameStage) {
|
||||||
super(new ScalingViewport(Scaling.stretch, Scene.getIntendedWidth(), Scene.getIntendedHeight()), gameStage.getBatch());
|
super(new ScalingViewport(Scaling.stretch, Scene.getIntendedWidth(), Scene.getIntendedHeight()), gameStage.getBatch());
|
||||||
@@ -133,7 +132,6 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
eventTouchUp = new InputEvent();
|
eventTouchUp = new InputEvent();
|
||||||
eventTouchUp.setPointer(-1);
|
eventTouchUp.setPointer(-1);
|
||||||
eventTouchUp.setType(InputEvent.Type.touchUp);
|
eventTouchUp.setType(InputEvent.Type.touchUp);
|
||||||
Controllers.addListener(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openMap() {
|
private void openMap() {
|
||||||
@@ -171,7 +169,7 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
if (Controls.actorContainsVector(miniMap,c)) {
|
if (Controls.actorContainsVector(miniMap,c)) {
|
||||||
touchpad.setVisible(false);
|
touchpad.setVisible(false);
|
||||||
|
|
||||||
if(Current.isInDebug())
|
if(debugMap)
|
||||||
WorldStage.getInstance().getPlayerSprite().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
WorldStage.getInstance().getPlayerSprite().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -194,7 +192,7 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (Controls.actorContainsVector(miniMap,c)) {
|
if (Controls.actorContainsVector(miniMap,c)) {
|
||||||
if(Current.isInDebug())
|
if(debugMap)
|
||||||
WorldStage.getInstance().getPlayerSprite().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
WorldStage.getInstance().getPlayerSprite().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
||||||
else
|
else
|
||||||
openMap();
|
openMap();
|
||||||
@@ -308,8 +306,14 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean keyUp(int keycode) {
|
||||||
|
ui.pressUp(keycode);
|
||||||
|
return super.keyUp(keycode);
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public boolean keyDown(int keycode) {
|
public boolean keyDown(int keycode) {
|
||||||
|
ui.pressDown(keycode);
|
||||||
if (keycode == Input.Keys.F9 || keycode == Input.Keys.F10) {
|
if (keycode == Input.Keys.F9 || keycode == Input.Keys.F10) {
|
||||||
console.toggle();
|
console.toggle();
|
||||||
return true;
|
return true;
|
||||||
@@ -324,17 +328,12 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
showButtons();
|
showButtons();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.BUTTON_B) {
|
if (console.isVisible())
|
||||||
performTouch(statsActor);
|
return true;
|
||||||
}
|
Button pressedButton=ui.buttonPressed(keycode);
|
||||||
if (keycode == Input.Keys.BUTTON_Y) {
|
if(pressedButton!=null)
|
||||||
performTouch(inventoryActor);
|
{
|
||||||
}
|
performTouch(pressedButton);
|
||||||
if (keycode == Input.Keys.BUTTON_X) {
|
|
||||||
performTouch(deckActor);
|
|
||||||
}
|
|
||||||
if (keycode == Input.Keys.BUTTON_A) {
|
|
||||||
performTouch(menuActor);
|
|
||||||
}
|
}
|
||||||
return super.keyDown(keycode);
|
return super.keyDown(keycode);
|
||||||
}
|
}
|
||||||
@@ -376,120 +375,8 @@ public class GameHUD extends Stage implements ControllerListener {
|
|||||||
FThreads.delayInEDT(300, () -> isShowing = false);
|
FThreads.delayInEDT(300, () -> isShowing = false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void setDebug(boolean b) {
|
||||||
public void connected(Controller controller) {
|
debugMap=b;
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void disconnected(Controller controller) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean buttonDown(Controller controller, int buttonIndex) {
|
|
||||||
if (Forge.getCurrentScene() instanceof HudScene) {
|
|
||||||
if (controller.getMapping().buttonA == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.BUTTON_A);
|
|
||||||
if (controller.getMapping().buttonB == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.BUTTON_B);
|
|
||||||
if (controller.getMapping().buttonX == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.BUTTON_X);
|
|
||||||
if (controller.getMapping().buttonY == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.BUTTON_Y);
|
|
||||||
if (controller.getMapping().buttonDpadUp == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_UP);
|
|
||||||
if (controller.getMapping().buttonDpadRight == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_RIGHT);
|
|
||||||
if (controller.getMapping().buttonDpadDown == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_DOWN);
|
|
||||||
if (controller.getMapping().buttonDpadLeft == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_LEFT);
|
|
||||||
} else if (Forge.getCurrentScene() instanceof UIScene) {
|
|
||||||
if (controller.getMapping().buttonDpadUp == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.DPAD_UP);
|
|
||||||
if (controller.getMapping().buttonDpadRight == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.DPAD_RIGHT);
|
|
||||||
if (controller.getMapping().buttonDpadDown == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.DPAD_DOWN);
|
|
||||||
if (controller.getMapping().buttonDpadLeft == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.DPAD_LEFT);
|
|
||||||
if (controller.getMapping().buttonA == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_A);
|
|
||||||
if (controller.getMapping().buttonB == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_B);
|
|
||||||
if (controller.getMapping().buttonX == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_X);
|
|
||||||
if (controller.getMapping().buttonY == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_Y);
|
|
||||||
if (controller.getMapping().buttonR1 == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_R1);
|
|
||||||
if (controller.getMapping().buttonL1 == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_L1);
|
|
||||||
if (controller.getMapping().buttonR2 == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_R2);
|
|
||||||
if (controller.getMapping().buttonL2 == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_L2);
|
|
||||||
if (controller.getMapping().buttonBack == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_SELECT);
|
|
||||||
if (controller.getMapping().buttonStart == buttonIndex)
|
|
||||||
return ((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_START);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean buttonUp(Controller controller, int buttonIndex) {
|
|
||||||
if (Forge.getCurrentScene() instanceof HudScene) {
|
|
||||||
if (controller.getMapping().buttonA == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.BUTTON_A);
|
|
||||||
if (controller.getMapping().buttonB == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.BUTTON_B);
|
|
||||||
if (controller.getMapping().buttonX == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.BUTTON_X);
|
|
||||||
if (controller.getMapping().buttonY == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.BUTTON_Y);
|
|
||||||
if (controller.getMapping().buttonDpadUp == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_UP);
|
|
||||||
if (controller.getMapping().buttonDpadRight == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_RIGHT);
|
|
||||||
if (controller.getMapping().buttonDpadDown == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_DOWN);
|
|
||||||
if (controller.getMapping().buttonDpadLeft == buttonIndex)
|
|
||||||
return ((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_LEFT);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean axisMoved(Controller controller, int axisIndex, float value) {
|
|
||||||
if (Forge.hasGamepad()) {
|
|
||||||
if (Forge.getCurrentScene() instanceof HudScene) {
|
|
||||||
if (controller.getAxis(controller.getMapping().axisLeftX) > 0.5f) {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_RIGHT);
|
|
||||||
} else if (controller.getAxis(controller.getMapping().axisLeftX) < -0.5f) {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_LEFT);
|
|
||||||
} else {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_LEFT);
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_RIGHT);
|
|
||||||
}
|
|
||||||
if (controller.getAxis(controller.getMapping().axisLeftY) > 0.5f) {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_DOWN);
|
|
||||||
} else if (controller.getAxis(controller.getMapping().axisLeftY) < -0.5f) {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyDown(Input.Keys.DPAD_UP);
|
|
||||||
} else {
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_UP);
|
|
||||||
((HudScene) Forge.getCurrentScene()).keyUp(Input.Keys.DPAD_DOWN);
|
|
||||||
}
|
|
||||||
} else if (Forge.getCurrentScene() instanceof UIScene) {
|
|
||||||
if (controller.getAxis(4) == 1f) //L2
|
|
||||||
((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_L2);
|
|
||||||
if (controller.getAxis(5) == 1f) //R2
|
|
||||||
((UIScene) Forge.getCurrentScene()).keyPressed(Input.Keys.BUTTON_R2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class ConsoleToggleListener extends ActorGestureListener {
|
class ConsoleToggleListener extends ActorGestureListener {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package forge.adventure.stage;
|
package forge.adventure.stage;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
|
import com.badlogic.gdx.controllers.Controller;
|
||||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
import com.badlogic.gdx.graphics.OrthographicCamera;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
import com.badlogic.gdx.math.Vector2;
|
import com.badlogic.gdx.math.Vector2;
|
||||||
@@ -18,6 +19,7 @@ import forge.adventure.pointofintrest.PointOfInterest;
|
|||||||
import forge.adventure.scene.Scene;
|
import forge.adventure.scene.Scene;
|
||||||
import forge.adventure.scene.StartScene;
|
import forge.adventure.scene.StartScene;
|
||||||
import forge.adventure.scene.TileMapScene;
|
import forge.adventure.scene.TileMapScene;
|
||||||
|
import forge.adventure.util.KeyBinding;
|
||||||
import forge.adventure.util.Paths;
|
import forge.adventure.util.Paths;
|
||||||
import forge.adventure.world.WorldSave;
|
import forge.adventure.world.WorldSave;
|
||||||
import forge.gui.GuiBase;
|
import forge.gui.GuiBase;
|
||||||
@@ -44,6 +46,20 @@ public abstract class GameStage extends Stage {
|
|||||||
public static float maximumScrollDistance=1.5f;
|
public static float maximumScrollDistance=1.5f;
|
||||||
public static float minimumScrollDistance=0.3f;
|
public static float minimumScrollDistance=0.3f;
|
||||||
|
|
||||||
|
public boolean axisMoved(Controller controller, int axisIndex, float value) {
|
||||||
|
|
||||||
|
if (MapStage.getInstance().isDialogOnlyInput()||isPaused()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
player.getMovementDirection().x = controller.getAxis(0);
|
||||||
|
player.getMovementDirection().y = -controller.getAxis(1);
|
||||||
|
if(player.getMovementDirection().len()<0.2)
|
||||||
|
{
|
||||||
|
player.stop();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
enum PlayerModification
|
enum PlayerModification
|
||||||
{
|
{
|
||||||
Sprint,
|
Sprint,
|
||||||
@@ -211,19 +227,21 @@ public abstract class GameStage extends Stage {
|
|||||||
@Override
|
@Override
|
||||||
public boolean keyDown(int keycode) {
|
public boolean keyDown(int keycode) {
|
||||||
super.keyDown(keycode);
|
super.keyDown(keycode);
|
||||||
if (keycode == Input.Keys.LEFT || keycode == Input.Keys.A || keycode == Input.Keys.DPAD_LEFT)//todo config
|
if (isPaused())
|
||||||
|
return true;
|
||||||
|
if (KeyBinding.Left.isPressed(keycode))
|
||||||
{
|
{
|
||||||
player.getMovementDirection().x = -1;
|
player.getMovementDirection().x = -1;
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.RIGHT || keycode == Input.Keys.D || keycode == Input.Keys.DPAD_RIGHT)//todo config
|
if (KeyBinding.Right.isPressed(keycode) )
|
||||||
{
|
{
|
||||||
player.getMovementDirection().x = +1;
|
player.getMovementDirection().x = +1;
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.UP || keycode == Input.Keys.W || keycode == Input.Keys.DPAD_UP)//todo config
|
if (KeyBinding.Up.isPressed(keycode))
|
||||||
{
|
{
|
||||||
player.getMovementDirection().y = +1;
|
player.getMovementDirection().y = +1;
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.DOWN || keycode == Input.Keys.S || keycode == Input.Keys.DPAD_DOWN)//todo config
|
if (KeyBinding.Down.isPressed(keycode))
|
||||||
{
|
{
|
||||||
player.getMovementDirection().y = -1;
|
player.getMovementDirection().y = -1;
|
||||||
}
|
}
|
||||||
@@ -243,15 +261,13 @@ public abstract class GameStage extends Stage {
|
|||||||
enter();
|
enter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (keycode == Input.Keys.F11) {
|
||||||
|
debugCollision(false);
|
||||||
|
|
||||||
|
}
|
||||||
if (keycode == Input.Keys.F12) {
|
if (keycode == Input.Keys.F12) {
|
||||||
debugCollision(true);
|
debugCollision(true);
|
||||||
for (Actor actor : foregroundSprites.getChildren()) {
|
|
||||||
if (actor instanceof MapActor) {
|
|
||||||
((MapActor) actor).setBoundDebug(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setDebugAll(true);
|
|
||||||
player.setBoundDebug(true);
|
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.F2) {
|
if (keycode == Input.Keys.F2) {
|
||||||
TileMapScene S = TileMapScene.instance();
|
TileMapScene S = TileMapScene.instance();
|
||||||
@@ -276,7 +292,14 @@ public abstract class GameStage extends Stage {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void debugCollision(boolean b) {
|
public void debugCollision(boolean b) {
|
||||||
|
for (Actor actor : foregroundSprites.getChildren()) {
|
||||||
|
if (actor instanceof MapActor) {
|
||||||
|
((MapActor) actor).setBoundDebug(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setDebugAll(b);
|
||||||
|
player.setBoundDebug(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -334,19 +357,19 @@ public abstract class GameStage extends Stage {
|
|||||||
public boolean keyUp(int keycode) {
|
public boolean keyUp(int keycode) {
|
||||||
if (isPaused())
|
if (isPaused())
|
||||||
return true;
|
return true;
|
||||||
if (keycode == Input.Keys.LEFT || keycode == Input.Keys.A || keycode == Input.Keys.RIGHT || keycode == Input.Keys.D)//todo config
|
if (KeyBinding.Left.isPressed(keycode)||KeyBinding.Right.isPressed(keycode))
|
||||||
{
|
{
|
||||||
player.getMovementDirection().x = 0;
|
player.getMovementDirection().x = 0;
|
||||||
if (!player.isMoving())
|
if (!player.isMoving())
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.UP || keycode == Input.Keys.W || keycode == Input.Keys.DOWN || keycode == Input.Keys.S)//todo config
|
if (KeyBinding.Down.isPressed(keycode)||KeyBinding.Up.isPressed(keycode))
|
||||||
{
|
{
|
||||||
player.getMovementDirection().y = 0;
|
player.getMovementDirection().y = 0;
|
||||||
if (!player.isMoving())
|
if (!player.isMoving())
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.ESCAPE) {
|
if (KeyBinding.Menu.isPressed(keycode)) {
|
||||||
openMenu();
|
openMenu();
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ 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.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;
|
||||||
@@ -21,9 +20,13 @@ 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.Button;
|
||||||
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.utils.*;
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.badlogic.gdx.utils.Array;
|
||||||
|
import com.badlogic.gdx.utils.Scaling;
|
||||||
|
import com.badlogic.gdx.utils.Timer;
|
||||||
import com.github.tommyettinger.textra.TextraButton;
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
import com.github.tommyettinger.textra.TextraLabel;
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import com.github.tommyettinger.textra.TypingAdapter;
|
import com.github.tommyettinger.textra.TypingAdapter;
|
||||||
@@ -73,9 +76,9 @@ 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, TextraButton> dialogButtonMap;
|
private final Array< TextraButton> dialogButtonMap=new Array<>();
|
||||||
private int selected = 0;
|
private int selected = 0;
|
||||||
public InputEvent eventEnter, eventExit, eventTouchDown, eventTouchUp;
|
public InputEvent eventTouchDown, eventTouchUp;
|
||||||
TextraButton selectedKey;
|
TextraButton selectedKey;
|
||||||
private boolean foundPlayerSpawn=false;
|
private boolean foundPlayerSpawn=false;
|
||||||
|
|
||||||
@@ -124,12 +127,6 @@ public class MapStage extends GameStage {
|
|||||||
eventTouchUp = new InputEvent();
|
eventTouchUp = new InputEvent();
|
||||||
eventTouchUp.setPointer(-1);
|
eventTouchUp.setPointer(-1);
|
||||||
eventTouchUp.setType(InputEvent.Type.touchUp);
|
eventTouchUp.setType(InputEvent.Type.touchUp);
|
||||||
eventEnter = new InputEvent();
|
|
||||||
eventEnter.setPointer(-1);
|
|
||||||
eventEnter.setType(InputEvent.Type.enter);
|
|
||||||
eventExit = new InputEvent();
|
|
||||||
eventExit.setPointer(-1);
|
|
||||||
eventExit.setType(InputEvent.Type.exit);
|
|
||||||
}
|
}
|
||||||
public static MapStage getInstance() {
|
public static MapStage getInstance() {
|
||||||
return instance == null ? instance = new MapStage() : instance;
|
return instance == null ? instance = new MapStage() : instance;
|
||||||
@@ -169,7 +166,7 @@ public class MapStage extends GameStage {
|
|||||||
Group collisionGroup;
|
Group collisionGroup;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void debugCollision(boolean b) {
|
public void debugCollision(boolean b) {
|
||||||
|
|
||||||
if (collisionGroup == null) {
|
if (collisionGroup == null) {
|
||||||
collisionGroup = new Group();
|
collisionGroup = new Group();
|
||||||
@@ -190,7 +187,7 @@ public class MapStage extends GameStage {
|
|||||||
} else {
|
} else {
|
||||||
collisionGroup.remove();
|
collisionGroup.remove();
|
||||||
}
|
}
|
||||||
|
super.debugCollision(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void effectDialog(EffectData effectData) {
|
private void effectDialog(EffectData effectData) {
|
||||||
@@ -262,6 +259,11 @@ public class MapStage extends GameStage {
|
|||||||
|
|
||||||
actors.clear();
|
actors.clear();
|
||||||
collisionRect.clear();
|
collisionRect.clear();
|
||||||
|
|
||||||
|
if(collisionGroup!=null)
|
||||||
|
collisionGroup.remove();
|
||||||
|
collisionGroup=null;
|
||||||
|
|
||||||
float width = Float.parseFloat(map.getProperties().get("width").toString());
|
float width = Float.parseFloat(map.getProperties().get("width").toString());
|
||||||
float height = Float.parseFloat(map.getProperties().get("height").toString());
|
float height = Float.parseFloat(map.getProperties().get("height").toString());
|
||||||
float tileHeight = Float.parseFloat(map.getProperties().get("tileheight").toString());
|
float tileHeight = Float.parseFloat(map.getProperties().get("tileheight").toString());
|
||||||
@@ -688,18 +690,16 @@ public class MapStage extends GameStage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void showDialog() {
|
public void showDialog() {
|
||||||
if (dialogButtonMap == null)
|
|
||||||
dialogButtonMap = new ObjectMap<>();
|
dialogButtonMap.clear();
|
||||||
else
|
|
||||||
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, (TextraButton) dialog.getButtonTable().getCells().get(i).getActor());
|
dialogButtonMap.add( (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);
|
||||||
dialogOnlyInput = true;
|
dialogOnlyInput = true;
|
||||||
if (Forge.hasGamepad())
|
if (Forge.hasGamepad()&&!dialogButtonMap.isEmpty())
|
||||||
selectDialogButton(dialogButtonMap.get(0), false);
|
dialogStage.setKeyboardFocus(dialogButtonMap.first());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void hideDialog() {
|
public void hideDialog() {
|
||||||
@@ -743,34 +743,21 @@ public class MapStage extends GameStage {
|
|||||||
changes.getMapFlags().clear();
|
changes.getMapFlags().clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean buttonPress(int keycode) {
|
public boolean dialogInput(int keycode) {
|
||||||
if (dialogOnlyInput) {
|
if (dialogOnlyInput) {
|
||||||
if (keycode == Input.Keys.DPAD_UP) {
|
if (KeyBinding.Up.isPressed(keycode)) {
|
||||||
selectPreviousDialogButton();
|
selectPreviousDialogButton();
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.DPAD_DOWN) {
|
if (KeyBinding.Down.isPressed(keycode)) {
|
||||||
selectNextDialogButton();
|
selectNextDialogButton();
|
||||||
}
|
}
|
||||||
if (keycode == Input.Keys.BUTTON_A) {
|
if (KeyBinding.Use.isPressed(keycode)) {
|
||||||
selectDialogButton(selectedKey, true);
|
performTouch(dialogStage.getKeyboardFocus());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectDialogButton(TextraButton dialogButton, boolean press) {
|
|
||||||
if (dialogOnlyInput) {
|
|
||||||
if (selectedKey != null)
|
|
||||||
selectedKey.fire(eventExit);
|
|
||||||
if (dialogButton != null && dialogButton.isVisible()) {
|
|
||||||
dialogButton.fire(eventEnter);
|
|
||||||
selectedKey = dialogButton;
|
|
||||||
selected = getButtonIndexKey(dialogButton);
|
|
||||||
if (press)
|
|
||||||
performTouch(dialogButton);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void performTouch(Actor actor) {
|
public void performTouch(Actor actor) {
|
||||||
if (actor == null)
|
if (actor == null)
|
||||||
return;
|
return;
|
||||||
@@ -782,22 +769,43 @@ public class MapStage extends GameStage {
|
|||||||
}
|
}
|
||||||
}, 0.10f);
|
}, 0.10f);
|
||||||
}
|
}
|
||||||
private int getButtonIndexKey(TextraButton dialogbutton) {
|
|
||||||
if (dialogButtonMap.isEmpty())
|
|
||||||
return 0;
|
|
||||||
Integer key = dialogButtonMap.findKey(dialogbutton, true);
|
|
||||||
if (key == null)
|
|
||||||
return 0;
|
|
||||||
return key;
|
|
||||||
}
|
|
||||||
private void selectNextDialogButton() {
|
private void selectNextDialogButton() {
|
||||||
if (dialogButtonMap.size < 2)
|
if (dialogButtonMap.size < 2)
|
||||||
return;
|
return;
|
||||||
selectDialogButton(dialogButtonMap.get(selected+1), false);
|
if(!(dialogStage.getKeyboardFocus() instanceof Button))
|
||||||
|
{
|
||||||
|
dialogStage.setKeyboardFocus(dialogButtonMap.first());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(int i=0;i<dialogButtonMap.size;i++)
|
||||||
|
{
|
||||||
|
if(dialogStage.getKeyboardFocus()==dialogButtonMap.get(i))
|
||||||
|
{
|
||||||
|
i+=1;
|
||||||
|
i%=dialogButtonMap.size;
|
||||||
|
dialogStage.setKeyboardFocus(dialogButtonMap.get(i));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void selectPreviousDialogButton() {
|
private void selectPreviousDialogButton() {
|
||||||
if (dialogButtonMap.size < 2)
|
if (dialogButtonMap.size < 2)
|
||||||
return;
|
return;
|
||||||
selectDialogButton(dialogButtonMap.get(selected-1), false);
|
if(!(dialogStage.getKeyboardFocus() instanceof Button))
|
||||||
|
{
|
||||||
|
dialogStage.setKeyboardFocus(dialogButtonMap.first());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(int i=0;i<dialogButtonMap.size;i++)
|
||||||
|
{
|
||||||
|
if(dialogStage.getKeyboardFocus()==dialogButtonMap.get(i))
|
||||||
|
{
|
||||||
|
i-=1;
|
||||||
|
if(i<0)
|
||||||
|
i=dialogButtonMap.size-1;
|
||||||
|
dialogStage.setKeyboardFocus(dialogButtonMap.get(i));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent;
|
|||||||
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.scenes.scene2d.utils.ClickListener;
|
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.utils.Drawable;
|
||||||
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.Null;
|
import com.badlogic.gdx.utils.Null;
|
||||||
@@ -46,7 +47,7 @@ public class Controls {
|
|||||||
{
|
{
|
||||||
public TextButtonFix(@Null String text)
|
public TextButtonFix(@Null String text)
|
||||||
{
|
{
|
||||||
super(text, Controls.getSkin(),Controls.getTextraFont()) ;
|
super(text==null?"NULL":text, Controls.getSkin(),Controls.getTextraFont()) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -84,8 +85,8 @@ public class Controls {
|
|||||||
return getBoundingRect(actor).contains(point);
|
return getBoundingRect(actor).contains(point);
|
||||||
}
|
}
|
||||||
|
|
||||||
static public SelectBox newComboBox(String[] text, String item, Function<Object, Void> func) {
|
static public SelectBox<String> newComboBox(String[] text, String item, Function<Object, Void> func) {
|
||||||
SelectBox ret = new SelectBox<String>(getSkin());
|
SelectBox<String> ret = newComboBox();
|
||||||
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() {
|
||||||
@@ -105,8 +106,8 @@ public class Controls {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static public SelectBox newComboBox(Array<String> text, String item, Function<Object, Void> func) {
|
static public SelectBox<String> newComboBox(Array<String> text, String item, Function<Object, Void> func) {
|
||||||
SelectBox ret = new SelectBox<String>(getSkin());
|
SelectBox<String> ret = newComboBox();
|
||||||
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() {
|
||||||
@@ -125,8 +126,25 @@ public class Controls {
|
|||||||
ret.setAlignment(Align.right);
|
ret.setAlignment(Align.right);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
static public SelectBox newComboBox(Float[] text, float item, Function<Object, Void> func) {
|
static public<T> SelectBox newComboBox()
|
||||||
SelectBox ret = new SelectBox<Float>(getSkin());
|
{
|
||||||
|
return new SelectBox<T>(getSkin())
|
||||||
|
{
|
||||||
|
|
||||||
|
@Null
|
||||||
|
protected Drawable getBackgroundDrawable() {
|
||||||
|
if (this.isDisabled() && this.getStyle().backgroundDisabled != null) {
|
||||||
|
return this.getStyle().backgroundDisabled;
|
||||||
|
} else if (this.getScrollPane().hasParent() && this.getStyle().backgroundOpen != null) {
|
||||||
|
return this.getStyle().backgroundOpen;
|
||||||
|
} else {
|
||||||
|
return (this.isOver() || hasKeyboardFocus()) && this.getStyle().backgroundOver != null ? this.getStyle().backgroundOver : this.getStyle().background;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
static public SelectBox<Float> newComboBox(Float[] text, float item, Function<Object, Void> func) {
|
||||||
|
SelectBox<Float> ret = newComboBox();
|
||||||
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() {
|
||||||
@@ -183,7 +201,20 @@ 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())
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
protected Drawable getBackgroundDrawable() {
|
||||||
|
SliderStyle style = (SliderStyle)super.getStyle();
|
||||||
|
if (this.isDisabled() && style.disabledBackground != null) {
|
||||||
|
return style.disabledBackground;
|
||||||
|
} else if (this.isDragging() && style.backgroundDown != null) {
|
||||||
|
return style.backgroundDown;
|
||||||
|
} else {
|
||||||
|
return (this.isOver() || hasKeyboardFocus()) && style.backgroundOver != null ? style.backgroundOver : style.background;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -341,6 +372,16 @@ public class Controls {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static Font textraFont=null;
|
static Font textraFont=null;
|
||||||
|
static Font keysFont=null;
|
||||||
|
static public Font getKeysFont()
|
||||||
|
{
|
||||||
|
if(keysFont==null)
|
||||||
|
{
|
||||||
|
keysFont=new Font(getSkin().getFont("default"));
|
||||||
|
keysFont.addAtlas(Config.instance().getAtlas(Paths.KEYS_ATLAS));
|
||||||
|
}
|
||||||
|
return keysFont;
|
||||||
|
}
|
||||||
static public Font getTextraFont()
|
static public Font getTextraFont()
|
||||||
{
|
{
|
||||||
if(textraFont==null)
|
if(textraFont==null)
|
||||||
|
|||||||
@@ -25,13 +25,4 @@ public class Current {
|
|||||||
deck=generateDeck;
|
deck=generateDeck;
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean debug=false;
|
|
||||||
public static boolean isInDebug()
|
|
||||||
{
|
|
||||||
return debug;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setDebug(boolean b) {
|
|
||||||
debug=b;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
84
forge-gui-mobile/src/forge/adventure/util/KeyBinding.java
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
package forge.adventure.util;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.Input;
|
||||||
|
import com.badlogic.gdx.controllers.Controller;
|
||||||
|
import com.badlogic.gdx.controllers.ControllerMapping;
|
||||||
|
import com.badlogic.gdx.controllers.Controllers;
|
||||||
|
import forge.gui.GuiBase;
|
||||||
|
|
||||||
|
public enum KeyBinding {
|
||||||
|
Left("Left", Input.Keys.LEFT,Input.Keys.DPAD_LEFT),
|
||||||
|
Up("Up", Input.Keys.UP,Input.Keys.DPAD_UP),
|
||||||
|
Right("Right", Input.Keys.RIGHT,Input.Keys.DPAD_RIGHT),
|
||||||
|
Down("Down", Input.Keys.DOWN,Input.Keys.DPAD_DOWN),
|
||||||
|
Menu("Menu", Input.Keys.ESCAPE,Input.Keys.BUTTON_START),
|
||||||
|
Inventory("Inventory", Input.Keys.I,Input.Keys.BUTTON_X),
|
||||||
|
Status("Status", Input.Keys.Q,Input.Keys.BUTTON_Y),
|
||||||
|
Deck("Deck", Input.Keys.E,Input.Keys.BUTTON_A),
|
||||||
|
Map("Map", Input.Keys.M,Input.Keys.BUTTON_B),
|
||||||
|
Equip("Equip", Input.Keys.E,Input.Keys.BUTTON_X),
|
||||||
|
Use("Use", Input.Keys.ENTER,Input.Keys.BUTTON_A),
|
||||||
|
Back("Back", Input.Keys.ESCAPE,Input.Keys.BUTTON_B),
|
||||||
|
ScrollUp("ScrollUp", Input.Keys.PAGE_UP,Input.Keys.BUTTON_L1),
|
||||||
|
ScrollDown("ScrollDown", Input.Keys.PAGE_DOWN,Input.Keys.BUTTON_R1),
|
||||||
|
;
|
||||||
|
String name;
|
||||||
|
int binding;
|
||||||
|
int defaultBinding;
|
||||||
|
int bindingController;
|
||||||
|
int defaultBindingController;
|
||||||
|
|
||||||
|
KeyBinding(String name, int defaultBinding, int defaultBindingController)
|
||||||
|
{
|
||||||
|
this.name=name;
|
||||||
|
this.defaultBinding=binding=defaultBinding;
|
||||||
|
this.defaultBindingController=bindingController=defaultBindingController;
|
||||||
|
}
|
||||||
|
public boolean isPressed(int key)
|
||||||
|
{
|
||||||
|
return key==binding||key==bindingController;
|
||||||
|
}
|
||||||
|
|
||||||
|
static String controllerPrefix="XBox_";
|
||||||
|
public String getLabelText(boolean pressed) {
|
||||||
|
if(Controllers.getCurrent()!=null)
|
||||||
|
{
|
||||||
|
return "{Scale=125%}[+"+controllerPrefix+Input.Keys.toString(bindingController).replace(" Button","")+(pressed?"_pressed]":"]");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(GuiBase.isAndroid())
|
||||||
|
return "";
|
||||||
|
return "{Scale=125%}[+"+Input.Keys.toString(binding)+(pressed?"_pressed]":"]");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int controllerButtonToKey(Controller controller,int key)
|
||||||
|
{
|
||||||
|
ControllerMapping map=controller.getMapping();
|
||||||
|
if(key==map.buttonA) return Input.Keys.BUTTON_A;
|
||||||
|
if(key==map.buttonB) return Input.Keys.BUTTON_B;
|
||||||
|
if(key==map.buttonX) return Input.Keys.BUTTON_X;
|
||||||
|
if(key==map.buttonY) return Input.Keys.BUTTON_Y;
|
||||||
|
|
||||||
|
if(key==map.buttonBack) return Input.Keys.BUTTON_SELECT;
|
||||||
|
if(key==map.buttonStart) return Input.Keys.BUTTON_START;
|
||||||
|
if(key==map.buttonL1) return Input.Keys.BUTTON_L1;
|
||||||
|
if(key==map.buttonL2) return Input.Keys.BUTTON_L2;
|
||||||
|
if(key==map.buttonR1) return Input.Keys.BUTTON_R1;
|
||||||
|
if(key==map.buttonR2) return Input.Keys.BUTTON_R2;
|
||||||
|
if(key==map.buttonDpadUp) return Input.Keys.DPAD_UP;
|
||||||
|
if(key==map.buttonDpadDown) return Input.Keys.DPAD_DOWN;
|
||||||
|
if(key==map.buttonDpadLeft) return Input.Keys.DPAD_LEFT;
|
||||||
|
if(key==map.buttonDpadRight) return Input.Keys.DPAD_RIGHT;
|
||||||
|
if(key==map.buttonLeftStick) return Input.Keys.BUTTON_THUMBL;
|
||||||
|
if(key==map.buttonRightStick) return Input.Keys.BUTTON_THUMBR;
|
||||||
|
|
||||||
|
if(key==map.buttonDpadUp) return Input.Keys.DPAD_UP;
|
||||||
|
if(key==map.buttonDpadDown) return Input.Keys.DPAD_DOWN;
|
||||||
|
if(key==map.buttonDpadLeft) return Input.Keys.DPAD_LEFT;
|
||||||
|
if(key==map.buttonDpadRight) return Input.Keys.DPAD_RIGHT;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
193
forge-gui-mobile/src/forge/adventure/util/KeyBoardDialog.java
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
package forge.adventure.util;
|
||||||
|
|
||||||
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.Actor;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Label;
|
||||||
|
import com.badlogic.gdx.utils.Align;
|
||||||
|
import com.github.tommyettinger.textra.TextraButton;
|
||||||
|
|
||||||
|
public class KeyBoardDialog extends Dialog {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public interface ScreenKeyboardFinished {
|
||||||
|
void handle(String var1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final Label kbLabel;
|
||||||
|
public Actor lastInputField;
|
||||||
|
public boolean showGamepadSelector = false, lowercaseKey = true;
|
||||||
|
private final 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,
|
||||||
|
key9, key0, keyDot, keyComma, keyShift, keyBackspace, keySpace, keyOK, keyAbort;
|
||||||
|
|
||||||
|
|
||||||
|
private void shiftKey() {
|
||||||
|
lowercaseKey = !lowercaseKey;
|
||||||
|
keyShift.setColor(lowercaseKey ? Color.WHITE : Color.CYAN);
|
||||||
|
keyA.setText(lowercaseKey ? "a" : "A");
|
||||||
|
keyB.setText(lowercaseKey ? "b" : "B");
|
||||||
|
keyC.setText(lowercaseKey ? "c" : "C");
|
||||||
|
keyD.setText(lowercaseKey ? "d" : "D");
|
||||||
|
keyE.setText(lowercaseKey ? "e" : "E");
|
||||||
|
keyF.setText(lowercaseKey ? "f" : "F");
|
||||||
|
keyG.setText(lowercaseKey ? "g" : "G");
|
||||||
|
keyH.setText(lowercaseKey ? "h" : "H");
|
||||||
|
keyI.setText(lowercaseKey ? "i" : "I");
|
||||||
|
keyJ.setText(lowercaseKey ? "j" : "J");
|
||||||
|
keyK.setText(lowercaseKey ? "k" : "K");
|
||||||
|
keyL.setText(lowercaseKey ? "l" : "L");
|
||||||
|
keyM.setText(lowercaseKey ? "m" : "M");
|
||||||
|
keyN.setText(lowercaseKey ? "n" : "N");
|
||||||
|
keyO.setText(lowercaseKey ? "o" : "O");
|
||||||
|
keyP.setText(lowercaseKey ? "p" : "P");
|
||||||
|
keyQ.setText(lowercaseKey ? "q" : "Q");
|
||||||
|
keyR.setText(lowercaseKey ? "r" : "R");
|
||||||
|
keyS.setText(lowercaseKey ? "s" : "S");
|
||||||
|
keyT.setText(lowercaseKey ? "t" : "T");
|
||||||
|
keyU.setText(lowercaseKey ? "u" : "U");
|
||||||
|
keyV.setText(lowercaseKey ? "v" : "V");
|
||||||
|
keyW.setText(lowercaseKey ? "w" : "W");
|
||||||
|
keyX.setText(lowercaseKey ? "x" : "X");
|
||||||
|
keyY.setText(lowercaseKey ? "y" : "Y");
|
||||||
|
keyZ.setText(lowercaseKey ? "z" : "Z");
|
||||||
|
}
|
||||||
|
ScreenKeyboardFinished onFinish;
|
||||||
|
public void setOnFinish(ScreenKeyboardFinished finish)
|
||||||
|
{
|
||||||
|
onFinish=finish;
|
||||||
|
}
|
||||||
|
private String removeLastChar(String s) {
|
||||||
|
return (s == null || s.length() == 0)
|
||||||
|
? ""
|
||||||
|
: (s.substring(0, s.length() - 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String transformKey(String c) {
|
||||||
|
return lowercaseKey ? c.toLowerCase() : c.toUpperCase();
|
||||||
|
}
|
||||||
|
public void toggleShiftOrBackspace(boolean shift) {
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setKeyboardDialogText() {
|
||||||
|
if (onFinish != null)
|
||||||
|
onFinish.handle(kbLabel.getText().toString());
|
||||||
|
|
||||||
|
result(null);
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
public KeyBoardDialog() {
|
||||||
|
super("", Controls.getSkin());
|
||||||
|
|
||||||
|
|
||||||
|
kbLabel = Controls.newLabel("");
|
||||||
|
kbLabel.setAlignment(Align.center);
|
||||||
|
kbLabel.setFontScale(1.5f,1.5f);
|
||||||
|
keyA = Controls.newTextButton("A", () -> kbLabel.setText(kbLabel.getText()+transformKey("A")));
|
||||||
|
keyB = Controls.newTextButton("B", () -> kbLabel.setText(kbLabel.getText()+transformKey("B")));
|
||||||
|
keyC = Controls.newTextButton("C", () -> kbLabel.setText(kbLabel.getText()+transformKey("C")));
|
||||||
|
keyD = Controls.newTextButton("D", () -> kbLabel.setText(kbLabel.getText()+transformKey("D")));
|
||||||
|
keyE = Controls.newTextButton("E", () -> kbLabel.setText(kbLabel.getText()+transformKey("E")));
|
||||||
|
keyF = Controls.newTextButton("F", () -> kbLabel.setText(kbLabel.getText()+transformKey("F")));
|
||||||
|
keyG = Controls.newTextButton("G", () -> kbLabel.setText(kbLabel.getText()+transformKey("G")));
|
||||||
|
keyH = Controls.newTextButton("H", () -> kbLabel.setText(kbLabel.getText()+transformKey("H")));
|
||||||
|
keyI = Controls.newTextButton("I", () -> kbLabel.setText(kbLabel.getText()+transformKey("I")));
|
||||||
|
keyJ = Controls.newTextButton("J", () -> kbLabel.setText(kbLabel.getText()+transformKey("J")));
|
||||||
|
keyK = Controls.newTextButton("K", () -> kbLabel.setText(kbLabel.getText()+transformKey("K")));
|
||||||
|
keyL = Controls.newTextButton("L", () -> kbLabel.setText(kbLabel.getText()+transformKey("L")));
|
||||||
|
keyM = Controls.newTextButton("M", () -> kbLabel.setText(kbLabel.getText()+transformKey("M")));
|
||||||
|
keyN = Controls.newTextButton("N", () -> kbLabel.setText(kbLabel.getText()+transformKey("N")));
|
||||||
|
keyO = Controls.newTextButton("O", () -> kbLabel.setText(kbLabel.getText()+transformKey("O")));
|
||||||
|
keyP = Controls.newTextButton("P", () -> kbLabel.setText(kbLabel.getText()+transformKey("P")));
|
||||||
|
keyQ = Controls.newTextButton("Q", () -> kbLabel.setText(kbLabel.getText()+transformKey("Q")));
|
||||||
|
keyR = Controls.newTextButton("R", () -> kbLabel.setText(kbLabel.getText()+transformKey("R")));
|
||||||
|
keyS = Controls.newTextButton("S", () -> kbLabel.setText(kbLabel.getText()+transformKey("S")));
|
||||||
|
keyT = Controls.newTextButton("T", () -> kbLabel.setText(kbLabel.getText()+transformKey("T")));
|
||||||
|
keyU = Controls.newTextButton("U", () -> kbLabel.setText(kbLabel.getText()+transformKey("U")));
|
||||||
|
keyV = Controls.newTextButton("V", () -> kbLabel.setText(kbLabel.getText()+transformKey("V")));
|
||||||
|
keyW = Controls.newTextButton("W", () -> kbLabel.setText(kbLabel.getText()+transformKey("W")));
|
||||||
|
keyX = Controls.newTextButton("X", () -> kbLabel.setText(kbLabel.getText()+transformKey("X")));
|
||||||
|
keyY = Controls.newTextButton("Y", () -> kbLabel.setText(kbLabel.getText()+transformKey("Y")));
|
||||||
|
keyZ = Controls.newTextButton("Z", () -> kbLabel.setText(kbLabel.getText()+transformKey("Z")));
|
||||||
|
key1 = Controls.newTextButton("1", () -> kbLabel.setText(kbLabel.getText()+"1"));
|
||||||
|
key2 = Controls.newTextButton("2", () -> kbLabel.setText(kbLabel.getText()+"2"));
|
||||||
|
key3 = Controls.newTextButton("3", () -> kbLabel.setText(kbLabel.getText()+"3"));
|
||||||
|
key4 = Controls.newTextButton("4", () -> kbLabel.setText(kbLabel.getText()+"4"));
|
||||||
|
key5 = Controls.newTextButton("5", () -> kbLabel.setText(kbLabel.getText()+"5"));
|
||||||
|
key6 = Controls.newTextButton("6", () -> kbLabel.setText(kbLabel.getText()+"6"));
|
||||||
|
key7 = Controls.newTextButton("7", () -> kbLabel.setText(kbLabel.getText()+"7"));
|
||||||
|
key8 = Controls.newTextButton("8", () -> kbLabel.setText(kbLabel.getText()+"8"));
|
||||||
|
key9 = Controls.newTextButton("9", () -> kbLabel.setText(kbLabel.getText()+"9"));
|
||||||
|
key0 = Controls.newTextButton("0", () -> kbLabel.setText(kbLabel.getText()+"0"));
|
||||||
|
keyDot = Controls.newTextButton(".", () -> kbLabel.setText(kbLabel.getText()+"."));
|
||||||
|
keyComma = Controls.newTextButton(",", () -> kbLabel.setText(kbLabel.getText()+","));
|
||||||
|
keyShift = Controls.newTextButton("Aa", () -> shiftKey());
|
||||||
|
keyBackspace = Controls.newTextButton("<<", () -> kbLabel.setText(removeLastChar(String.valueOf(kbLabel.getText()))));
|
||||||
|
keySpace = Controls.newTextButton("SPACE", () -> kbLabel.setText(kbLabel.getText()+" "));
|
||||||
|
keyOK = Controls.newTextButton("OK", () -> setKeyboardDialogText());
|
||||||
|
keyAbort = Controls.newTextButton("Abort", () -> abortKeyInput());
|
||||||
|
this.getContentTable().add(kbLabel).width(220).height(20).colspan(10).expandX().align(Align.center);
|
||||||
|
this.getButtonTable().row();
|
||||||
|
this.getButtonTable().add(key1).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key2).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key3).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key4).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key5).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key6).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key7).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key8).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key9).width(20).height(20);
|
||||||
|
this.getButtonTable().add(key0).width(20).height(20);
|
||||||
|
this.getButtonTable().row();
|
||||||
|
this.getButtonTable().add(keyQ).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyW).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyE).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyR).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyT).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyY).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyU).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyI).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyO).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyP).width(20).height(20);
|
||||||
|
this.getButtonTable().row();
|
||||||
|
this.getButtonTable().add(keyA).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyS).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyD).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyF).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyG).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyH).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyJ).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyK).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyL).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyBackspace).width(20).height(20);
|
||||||
|
this.getButtonTable().row();
|
||||||
|
this.getButtonTable().add(keyShift).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyZ).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyX).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyC).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyV).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyB).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyN).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyM).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyDot).width(20).height(20);
|
||||||
|
this.getButtonTable().add(keyComma).width(20).height(20);
|
||||||
|
this.getButtonTable().row();
|
||||||
|
this.getButtonTable().add(keySpace).width(150).height(20).colspan(6);
|
||||||
|
this.getButtonTable().add(keyOK).width(50).height(20).colspan(2);
|
||||||
|
this.getButtonTable().add(keyAbort).width(50).height(20).colspan(2);
|
||||||
|
this.setMovable(false);
|
||||||
|
this.setKeepWithinStage(true);
|
||||||
|
this.setResizable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void abortKeyInput() {
|
||||||
|
hide();
|
||||||
|
result(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setText(String text) {
|
||||||
|
kbLabel.setText(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,6 +10,9 @@ import forge.adventure.data.DialogData;
|
|||||||
import forge.adventure.player.AdventurePlayer;
|
import forge.adventure.player.AdventurePlayer;
|
||||||
import forge.adventure.stage.MapStage;
|
import forge.adventure.stage.MapStage;
|
||||||
import forge.card.ColorSet;
|
import forge.card.ColorSet;
|
||||||
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
|
import forge.model.FModel;
|
||||||
|
import forge.sound.AudioClip;
|
||||||
import forge.util.Localizer;
|
import forge.util.Localizer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,6 +48,7 @@ public class MapDialog {
|
|||||||
}
|
}
|
||||||
this.data = JSONStringLoader.parse(Array.class, DialogData.class, S, defaultJSON);
|
this.data = JSONStringLoader.parse(Array.class, DialogData.class, S, defaultJSON);
|
||||||
}
|
}
|
||||||
|
static AudioClip audio=null;
|
||||||
|
|
||||||
private void loadDialog(DialogData dialog) { //Displays a dialog with dialogue and possible choices.
|
private void loadDialog(DialogData dialog) { //Displays a dialog with dialogue and possible choices.
|
||||||
setEffects(dialog.action);
|
setEffects(dialog.action);
|
||||||
@@ -54,6 +58,14 @@ 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;
|
||||||
|
if(audio!=null)
|
||||||
|
audio.stop();
|
||||||
|
if(dialog.voiceFile!=null)
|
||||||
|
{
|
||||||
|
audio = AudioClip.createClip(Config.instance().getFilePath(dialog.voiceFile));
|
||||||
|
if(audio!=null)
|
||||||
|
audio.play(FModel.getPreferences().getPrefInt(ForgePreferences.FPref.UI_VOL_SOUNDS)/100f);
|
||||||
|
}
|
||||||
TypingLabel A = Controls.newTypingLabel(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.
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ public class Paths {
|
|||||||
public static final String POINTS_OF_INTEREST = "world/points_of_interest.json";
|
public static final String POINTS_OF_INTEREST = "world/points_of_interest.json";
|
||||||
public static final String ITEMS = "world/items.json";
|
public static final String ITEMS = "world/items.json";
|
||||||
public static final String SKIN = "skin/ui_skin.json";
|
public static final String SKIN = "skin/ui_skin.json";
|
||||||
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 KEYS_ATLAS = "skin/keys.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";
|
||||||
|
|||||||
@@ -86,7 +86,12 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
if (T != null)
|
if (T != null)
|
||||||
T.dispose();
|
T.dispose();
|
||||||
}
|
}
|
||||||
|
public boolean toolTipIsVisible()
|
||||||
|
{
|
||||||
|
if(holdTooltip!=null)
|
||||||
|
return holdTooltip.tooltip_actor.getStage()!=null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
public Reward getReward() {
|
public Reward getReward() {
|
||||||
return reward;
|
return reward;
|
||||||
}
|
}
|
||||||
@@ -220,6 +225,12 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
Pixmap drawingMap = new Pixmap((int) backSprite.getWidth(), (int) backSprite.getHeight(), Pixmap.Format.RGBA8888);
|
Pixmap drawingMap = new Pixmap((int) backSprite.getWidth(), (int) backSprite.getHeight(), Pixmap.Format.RGBA8888);
|
||||||
|
|
||||||
DrawOnPixmap.draw(drawingMap, backSprite);
|
DrawOnPixmap.draw(drawingMap, backSprite);
|
||||||
|
if(reward.getItem()==null)
|
||||||
|
{
|
||||||
|
needsToBeDisposed = true;
|
||||||
|
image=new Texture(drawingMap);
|
||||||
|
break;
|
||||||
|
}
|
||||||
Sprite item = reward.getItem().sprite();
|
Sprite item = reward.getItem().sprite();
|
||||||
|
|
||||||
DrawOnPixmap.draw(drawingMap, (int) ((backSprite.getWidth() / 2f) - item.getWidth() / 2f), (int) ((backSprite.getHeight() / 4f) * 1.7f), item);
|
DrawOnPixmap.draw(drawingMap, (int) ((backSprite.getWidth() / 2f) - item.getWidth() / 2f), (int) ((backSprite.getHeight() / 4f) * 1.7f), item);
|
||||||
@@ -558,9 +569,10 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb
|
|||||||
applyProjectionMatrix(batch);
|
applyProjectionMatrix(batch);
|
||||||
|
|
||||||
|
|
||||||
if (hover)
|
if (hover|hasKeyboardFocus())
|
||||||
batch.setColor(0.5f, 0.5f, 0.5f, 1);
|
batch.setColor(0.5f, 0.5f, 0.5f, 1);
|
||||||
|
|
||||||
|
|
||||||
if (!frontSideUp()) {
|
if (!frontSideUp()) {
|
||||||
if (flipOnClick) {
|
if (flipOnClick) {
|
||||||
batch.draw(backTexture, -getWidth() / 2, -getHeight() / 2, getWidth(), getHeight());
|
batch.draw(backTexture, -getWidth() / 2, -getHeight() / 2, getWidth(), getHeight());
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package forge.adventure.util;
|
package forge.adventure.util;
|
||||||
|
|
||||||
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.InputListener;
|
||||||
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
|
||||||
|
import com.badlogic.gdx.scenes.scene2d.ui.Table;
|
||||||
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;
|
||||||
@@ -12,7 +13,7 @@ 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
|
||||||
*/
|
*/
|
||||||
public class Selector extends Group {
|
public class Selector extends Table {
|
||||||
private final ImageButton leftArrow;
|
private final ImageButton leftArrow;
|
||||||
private final ImageButton rightArrow;
|
private final ImageButton rightArrow;
|
||||||
private final TextraButton label;
|
private final TextraButton label;
|
||||||
@@ -21,37 +22,62 @@ public class Selector extends Group {
|
|||||||
|
|
||||||
|
|
||||||
public Selector() {
|
public Selector() {
|
||||||
|
Selector self=this;
|
||||||
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)
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean hasKeyboardFocus()
|
||||||
|
{
|
||||||
|
return self.hasKeyboardFocus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
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)
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean hasKeyboardFocus()
|
||||||
|
{
|
||||||
|
return self.hasKeyboardFocus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
label = Controls.newTextButton("");
|
label = new Controls.TextButtonFix("")
|
||||||
addActor(leftArrow);
|
{
|
||||||
addActor(rightArrow);
|
@Override
|
||||||
addActor(label);
|
public boolean hasKeyboardFocus()
|
||||||
|
{
|
||||||
|
return self.hasKeyboardFocus();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
add(leftArrow).pad(2);
|
||||||
|
add(label).expand().fill();
|
||||||
|
add(rightArrow).pad(2);
|
||||||
leftArrow.addListener(new ClickListener() {
|
leftArrow.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
try {
|
setCurrentIndex(currentIndex - 1);
|
||||||
setCurrentIndex(currentIndex - 1);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
rightArrow.addListener(new ClickListener() {
|
rightArrow.addListener(new ClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void clicked(InputEvent event, float x, float y) {
|
public void clicked(InputEvent event, float x, float y) {
|
||||||
try {
|
setCurrentIndex(currentIndex + 1);
|
||||||
setCurrentIndex(currentIndex + 1);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
addListener(new InputListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean keyDown(InputEvent event, int keycode) {
|
||||||
|
if(KeyBinding.Left.isPressed(keycode))
|
||||||
|
setCurrentIndex(currentIndex - 1);
|
||||||
|
if(KeyBinding.Right.isPressed(keycode))
|
||||||
|
setCurrentIndex(currentIndex + 1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class TemplateTmxMapLoader extends TmxMapLoader {
|
|||||||
FileHandle tmxFile = new FileHandle(f);
|
FileHandle tmxFile = new FileHandle(f);
|
||||||
|
|
||||||
this.root = xml.parse(tmxFile);
|
this.root = xml.parse(tmxFile);
|
||||||
|
parameter.generateMipMaps=true;
|
||||||
final Array<FileHandle> textureFiles = getDependencyFileHandles(tmxFile);
|
final Array<FileHandle> textureFiles = getDependencyFileHandles(tmxFile);
|
||||||
for (FileHandle textureFile : textureFiles) {
|
for (FileHandle textureFile : textureFiles) {
|
||||||
Texture texture = new Texture(textureFile, parameter.generateMipMaps);
|
Texture texture = new Texture(textureFile, parameter.generateMipMaps);
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
|||||||
import com.badlogic.gdx.scenes.scene2d.Actor;
|
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.ui.*;
|
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.scenes.scene2d.utils.TextureRegionDrawable;
|
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
|
||||||
|
import com.badlogic.gdx.utils.Array;
|
||||||
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;
|
||||||
@@ -18,7 +18,10 @@ import com.github.tommyettinger.textra.TextraButton;
|
|||||||
import com.github.tommyettinger.textra.TextraLabel;
|
import com.github.tommyettinger.textra.TextraLabel;
|
||||||
import forge.Forge;
|
import forge.Forge;
|
||||||
import forge.adventure.data.UIData;
|
import forge.adventure.data.UIData;
|
||||||
|
import forge.adventure.scene.UIScene;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@@ -28,6 +31,9 @@ import java.util.regex.Pattern;
|
|||||||
public class UIActor extends Group {
|
public class UIActor extends Group {
|
||||||
UIData data;
|
UIData data;
|
||||||
Actor lastActor=null;
|
Actor lastActor=null;
|
||||||
|
public Array<UIScene.Selectable> selectActors=new Array<>();
|
||||||
|
private HashMap<KeyBinding,Button> keyMap=new HashMap<>();
|
||||||
|
public Array<KeyHintLabel> keyLabels=new Array<>();
|
||||||
|
|
||||||
public UIActor(FileHandle handle) {
|
public UIActor(FileHandle handle) {
|
||||||
data = (new Json()).fromJson(UIData.class, handle);
|
data = (new Json()).fromJson(UIData.class, handle);
|
||||||
@@ -83,7 +89,7 @@ public class UIActor extends Group {
|
|||||||
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 =Controls.newComboBox();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Unexpected value: " + type);
|
throw new IllegalStateException("Unexpected value: " + type);
|
||||||
@@ -93,6 +99,9 @@ public class UIActor extends Group {
|
|||||||
float yValue = 0;
|
float yValue = 0;
|
||||||
for (ObjectMap.Entry property : new OrderedMap.OrderedMapEntries<>(element)) {
|
for (ObjectMap.Entry property : new OrderedMap.OrderedMapEntries<>(element)) {
|
||||||
switch (property.key.toString()) {
|
switch (property.key.toString()) {
|
||||||
|
case "selectable":
|
||||||
|
selectActors.add(new UIScene.Selectable(newActor));
|
||||||
|
break;
|
||||||
case "scale":
|
case "scale":
|
||||||
newActor.setScale((Float) property.value);
|
newActor.setScale((Float) property.value);
|
||||||
break;
|
break;
|
||||||
@@ -135,6 +144,19 @@ public class UIActor extends Group {
|
|||||||
lastActor=newActor;
|
lastActor=newActor;
|
||||||
addActor(newActor);
|
addActor(newActor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button buttonPressed(int key)
|
||||||
|
{
|
||||||
|
for(Map.Entry<KeyBinding, Button> entry:keyMap.entrySet())
|
||||||
|
{
|
||||||
|
if(entry.getKey().isPressed(key))
|
||||||
|
{
|
||||||
|
return entry.getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
private void readScrollPaneProperties(ScrollPane newActor, ObjectMap.Entries<String, String> entries) {
|
||||||
@@ -189,7 +211,10 @@ public class UIActor extends Group {
|
|||||||
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;
|
||||||
|
case "binding":
|
||||||
|
keyMap.put(KeyBinding.valueOf(property.value.toString()),newActor);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -254,6 +279,12 @@ public class UIActor extends Group {
|
|||||||
case "style":
|
case "style":
|
||||||
newActor.setStyle(Controls.getSkin().get(property.value.toString(), TextButton.TextButtonStyle.class));
|
newActor.setStyle(Controls.getSkin().get(property.value.toString(), TextButton.TextButtonStyle.class));
|
||||||
break;
|
break;
|
||||||
|
case "binding":
|
||||||
|
keyMap.put(KeyBinding.valueOf(property.value.toString()),newActor);
|
||||||
|
KeyHintLabel label=new KeyHintLabel(KeyBinding.valueOf(property.value.toString()));
|
||||||
|
keyLabels.add(label);
|
||||||
|
newActor.add(label);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
newActor.layout();
|
newActor.layout();
|
||||||
@@ -287,31 +318,64 @@ public class UIActor extends Group {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
static final public int ButtonYes=0x1;
|
|
||||||
static final public int ButtonNo=0x2;
|
public void controllerDisconnected( ) {
|
||||||
static final public int ButtonOk=0x4;
|
for(KeyHintLabel label:keyLabels)
|
||||||
static final public int ButtonAbort=0x8;
|
|
||||||
public Dialog showDialog(Stage stage, String header, int buttons, Runnable onOkOrYes) {
|
|
||||||
Dialog dialog =new Dialog(header, Controls.getSkin())
|
|
||||||
{
|
{
|
||||||
protected void result(Object object)
|
label.disconnected();
|
||||||
{
|
}
|
||||||
if(onOkOrYes!=null&&object!=null&&object.equals(true))
|
}
|
||||||
onOkOrYes.run();
|
public void controllerConnected( ) {
|
||||||
this.hide();
|
for(KeyHintLabel label:keyLabels)
|
||||||
removeActor(this);
|
{
|
||||||
}
|
label.connected();
|
||||||
};
|
}
|
||||||
if((buttons&ButtonYes)!=0)
|
}
|
||||||
dialog.button(Forge.getLocalizer().getMessage("lblYes"), true);
|
public void pressUp(int code) {
|
||||||
if((buttons&ButtonNo)!=0)
|
for(KeyHintLabel label:keyLabels)
|
||||||
dialog.button(Forge.getLocalizer().getMessage("lblNo"), false);
|
{
|
||||||
if((buttons&ButtonOk)!=0)
|
label.buttonUp(code);
|
||||||
dialog.button(Forge.getLocalizer().getMessage("lblOk"), true);
|
}
|
||||||
if((buttons&ButtonAbort)!=0)
|
}
|
||||||
dialog.button(Forge.getLocalizer().getMessage("lblAbort"), false);
|
|
||||||
addActor(dialog);
|
public void pressDown(int code) {
|
||||||
dialog.show(stage);
|
for(KeyHintLabel label:keyLabels)
|
||||||
return dialog;
|
{
|
||||||
|
label.buttonDown(code);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private class KeyHintLabel extends TextraLabel {
|
||||||
|
public KeyHintLabel(KeyBinding keyBinding) {
|
||||||
|
super(keyBinding.getLabelText(false),Controls.getKeysFont());
|
||||||
|
this.keyBinding=keyBinding;
|
||||||
|
}
|
||||||
|
KeyBinding keyBinding;
|
||||||
|
public void connected( ) {
|
||||||
|
updateText();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateText() {
|
||||||
|
setText(keyBinding.getLabelText(false));
|
||||||
|
layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void disconnected() {
|
||||||
|
updateText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean buttonDown(int i) {
|
||||||
|
if(keyBinding.isPressed(i))
|
||||||
|
setText(keyBinding.getLabelText(true));
|
||||||
|
layout();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean buttonUp( int i) {
|
||||||
|
if(keyBinding.isPressed(i))
|
||||||
|
updateText();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
forge-gui/res/adventure/Shandalar/audio/WizPAR1.mp3
Normal file
BIN
forge-gui/res/adventure/Shandalar/audio/WizPAR2.mp3
Normal file
BIN
forge-gui/res/adventure/Shandalar/audio/WizPAR3.mp3
Normal file
BIN
forge-gui/res/adventure/Shandalar/audio/WizPAR4.mp3
Normal file
@@ -34,7 +34,8 @@
|
|||||||
"Sanctum of Eternity",
|
"Sanctum of Eternity",
|
||||||
"Stinging Study",
|
"Stinging Study",
|
||||||
"Study Hall",
|
"Study Hall",
|
||||||
"Witch's Clinic"
|
"Witch's Clinic",
|
||||||
|
"Time Vault"
|
||||||
],
|
],
|
||||||
"restrictedEditions": [
|
"restrictedEditions": [
|
||||||
"HTR",
|
"HTR",
|
||||||
|
|||||||
@@ -2,39 +2,39 @@
|
|||||||
"name":"Black",
|
"name":"Black",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":12,
|
"count":18,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Black",
|
"name":"Black",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red","blue"],
|
"colors": ["red","blue"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["red","blue"],
|
"colors": ["red","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [5,6]
|
"manaCosts": [5,6]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Black",
|
"name":"Black",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red","blue"],
|
"colors": ["red","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["red","blue"],
|
"colors": ["red","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,39 +2,39 @@
|
|||||||
"name":"Blue",
|
"name":"Blue",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":12,
|
"count":18,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["black"],
|
"colors": ["black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Blue",
|
"name":"Blue",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white","black"],
|
"colors": ["white","black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["white","black"],
|
"colors": ["white","black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [5,6]
|
"manaCosts": [5,6]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Blue",
|
"name":"Blue",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white","black"],
|
"colors": ["white","black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["white","black"],
|
"colors": ["white","black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["blue"],
|
"colors": ["blue"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,39 +2,39 @@
|
|||||||
"name":"Green",
|
"name":"Green",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":12,
|
"count":18,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon"],
|
"rarity": ["Uncommon"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Green",
|
"name":"Green",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white","red"],
|
"colors": ["white","red"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["red","white"],
|
"colors": ["red","white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [5,6]
|
"manaCosts": [5,6]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Green",
|
"name":"Green",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white","red"],
|
"colors": ["white","red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["red","white"],
|
"colors": ["red","white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,39 +2,39 @@
|
|||||||
"name":"Red",
|
"name":"Red",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":12,
|
"count":18,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["rare"] ,
|
"rarity": ["rare"] ,
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Red",
|
"name":"Red",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green","black"],
|
"colors": ["green","black"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green","black"],
|
"colors": ["green","black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [5,6]
|
"manaCosts": [5,6]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"Red",
|
"name":"Red",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Mountain"
|
"cardName": "Mountain"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Swamp"
|
"cardName": "Swamp"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green","black"],
|
"colors": ["green","black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green","black"],
|
"colors": ["green","black"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["red"],
|
"colors": ["red"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,39 +2,39 @@
|
|||||||
"name":"White",
|
"name":"White",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":12,
|
"count":18,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green"],
|
"colors": ["green"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"White",
|
"name":"White",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green","blue"],
|
"colors": ["green","blue"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Common"],
|
"rarity": ["Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green","blue"],
|
"colors": ["green","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [5,6]
|
"manaCosts": [5,6]
|
||||||
|
|||||||
@@ -2,43 +2,43 @@
|
|||||||
"name":"White",
|
"name":"White",
|
||||||
"mainDeck": [
|
"mainDeck": [
|
||||||
{
|
{
|
||||||
"count":10,
|
"count":15,
|
||||||
"cardName": "Plains"
|
"cardName": "Plains"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Forest"
|
"cardName": "Forest"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"cardName": "Island"
|
"cardName": "Island"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["green","blue"],
|
"colors": ["green","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [1,2]
|
"manaCosts": [1,2]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":4,
|
"count":6,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":2,
|
"count":3,
|
||||||
"colors": ["green","blue"],
|
"colors": ["green","blue"],
|
||||||
"rarity": ["Uncommon","Common"],
|
"rarity": ["Uncommon","Common"],
|
||||||
"manaCosts": [3,4]
|
"manaCosts": [3,4]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"count":6,
|
"count":9,
|
||||||
"colors": ["white"],
|
"colors": ["white"],
|
||||||
"rarity": ["rare"],
|
"rarity": ["rare"],
|
||||||
"manaCosts": [5,6,7,8,9]
|
"manaCosts": [5,6,7,8,9]
|
||||||
|
|||||||
@@ -3,27 +3,27 @@
|
|||||||
"height": 4300,
|
"height": 4300,
|
||||||
"width": 2
|
"width": 2
|
||||||
},
|
},
|
||||||
"activeFile": "map/main_story/spawn.tmx",
|
"activeFile": "tileset/buildings.tsx",
|
||||||
"automapping.whileDrawing": false,
|
"automapping.whileDrawing": false,
|
||||||
"expandedProjectPaths": [
|
"expandedProjectPaths": [
|
||||||
"tileset",
|
"tileset",
|
||||||
"map",
|
|
||||||
"obj",
|
"obj",
|
||||||
"map/main_story"
|
"map/main_story",
|
||||||
|
"map"
|
||||||
],
|
],
|
||||||
"file.lastUsedOpenFilter": "All Files (*)",
|
"file.lastUsedOpenFilter": "All Files (*)",
|
||||||
"fileStates": {
|
"fileStates": {
|
||||||
"map/aerie_1.tmx": {
|
"map/aerie_1.tmx": {
|
||||||
"scale": 2,
|
"scale": 3,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": -1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 232.16666666666666,
|
||||||
"y": 136
|
"y": 167
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/aerie_1B.tmx": {
|
"map/aerie_1B.tmx": {
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": -1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 239.75,
|
||||||
"y": 136
|
"y": 136
|
||||||
@@ -34,9 +34,9 @@
|
|||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": -1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 399.75,
|
"x": 399.25,
|
||||||
"y": 320
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -52,8 +52,8 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 217.66666666666666,
|
"x": 217.99999999999997,
|
||||||
"y": 180.33333333333331
|
"y": 180.66666666666669
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/barbariancamp_3.tmx": {
|
"map/barbariancamp_3.tmx": {
|
||||||
@@ -65,11 +65,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/barbariancamp_4.tmx": {
|
"map/barbariancamp_4.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 337,
|
"x": 236.25,
|
||||||
"y": 352.3333333333333
|
"y": 363.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/castle_plains.tmx": {
|
"map/castle_plains.tmx": {
|
||||||
@@ -81,19 +81,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/castle_plains_1.tmx": {
|
"map/castle_plains_1.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 3,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 254.99999999999997,
|
"x": 209.83333333333331,
|
||||||
"y": 167
|
"y": 207
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/castle_plains_2.tmx": {
|
"map/castle_plains_2.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.33333333333331,
|
"x": 241,
|
||||||
"y": 137
|
"y": 137.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/castle_plains_3.tmx": {
|
"map/castle_plains_3.tmx": {
|
||||||
@@ -101,31 +101,31 @@
|
|||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 239.75,
|
||||||
"y": 136.75
|
"y": 137
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/catlair_1.tmx": {
|
"map/catlair_1.tmx": {
|
||||||
"scale": 2,
|
"scale": 4,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 173.25,
|
"x": 198.375,
|
||||||
"y": 132.25
|
"y": 183.25
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/catlair_2.tmx": {
|
"map/catlair_2.tmx": {
|
||||||
"scale": 1.5,
|
|
||||||
"selectedLayer": 3,
|
|
||||||
"viewCenter": {
|
|
||||||
"x": 287.66666666666663,
|
|
||||||
"y": 117.66666666666666
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"map/catlair_3.tmx": {
|
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 209.25,
|
"x": 157.25,
|
||||||
"y": 134.75
|
"y": 117
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"map/catlair_3.tmx": {
|
||||||
|
"scale": 1.5,
|
||||||
|
"selectedLayer": 3,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 225,
|
||||||
|
"y": 201.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave6.tmx": {
|
"map/cave6.tmx": {
|
||||||
@@ -144,20 +144,31 @@
|
|||||||
"y": 241.625
|
"y": 241.625
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave_1.tmx": {
|
"map/cave_1..tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5694791666666665,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 259.66666666666663,
|
"x": 240.52565208734322,
|
||||||
"y": 330.6666666666667
|
"y": 240.20707506471095
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"map/cave_1.tmx": {
|
||||||
|
"expandedObjectLayers": [
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"scale": 4,
|
||||||
|
"selectedLayer": 2,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 222.125,
|
||||||
|
"y": 370.75
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave_10.tmx": {
|
"map/cave_10.tmx": {
|
||||||
"scale": 1,
|
"scale": 2,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 232.5,
|
"x": 276.25,
|
||||||
"y": 137
|
"y": 184.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave_11.tmx": {
|
"map/cave_11.tmx": {
|
||||||
@@ -172,7 +183,7 @@
|
|||||||
"scale": 1,
|
"scale": 1,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 232.5,
|
"x": 233,
|
||||||
"y": 136
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -180,7 +191,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 223.66666666666666,
|
"x": 223.99999999999997,
|
||||||
"y": 135.33333333333334
|
"y": 135.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -196,7 +207,7 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 227.5,
|
"x": 227.33333333333331,
|
||||||
"y": 135.66666666666663
|
"y": 135.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -332,7 +343,7 @@
|
|||||||
"scale": 1.0548958333333331,
|
"scale": 1.0548958333333331,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.78206773970578,
|
"x": 239.83410684309274,
|
||||||
"y": 136.50636911227411
|
"y": 136.50636911227411
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -380,7 +391,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 480,
|
"x": 479.99999999999994,
|
||||||
"y": 320
|
"y": 320
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -391,8 +402,8 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 231.75,
|
"x": 240.25,
|
||||||
"y": 136.5
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave_20.tmx": {
|
"map/cave_20.tmx": {
|
||||||
@@ -1319,15 +1330,15 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 225.25,
|
"x": 240.25,
|
||||||
"y": 135.75
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/cave_4.tmx": {
|
"map/cave_4.tmx": {
|
||||||
"scale": 1,
|
"scale": 1,
|
||||||
"selectedLayer": 2,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 219.5,
|
"x": 220,
|
||||||
"y": 135
|
"y": 135
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1367,7 +1378,7 @@
|
|||||||
"scale": 1,
|
"scale": 1,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 219.5,
|
"x": 220,
|
||||||
"y": 135
|
"y": 135
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1375,7 +1386,7 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 227.5,
|
"x": 227.33333333333331,
|
||||||
"y": 135.66666666666663
|
"y": 135.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1383,7 +1394,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 223.66666666666666,
|
"x": 223.99999999999997,
|
||||||
"y": 135.33333333333334
|
"y": 135.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1391,15 +1402,15 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 242.99999999999997,
|
"x": 243.33333333333337,
|
||||||
"y": 150.66666666666669
|
"y": 151.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/crypt_2.tmx": {
|
"map/crypt_2.tmx": {
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1407,7 +1418,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1415,7 +1426,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1423,7 +1434,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 311,
|
"x": 311.33333333333337,
|
||||||
"y": 318.6666666666667
|
"y": 318.6666666666667
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1431,15 +1442,15 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 221.66666666666663,
|
"x": 221.33333333333331,
|
||||||
"y": 302.83333333333337
|
"y": 302.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/djinnpalace_1.tmx": {
|
"map/djinnpalace_1.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 186.33333333333331,
|
"x": 186.66666666666663,
|
||||||
"y": 90.66666666666669
|
"y": 90.66666666666669
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1479,7 +1490,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 231.66666666666666,
|
"x": 231.99999999999997,
|
||||||
"y": 135.33333333333334
|
"y": 135.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1487,7 +1498,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1495,7 +1506,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 2,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1511,15 +1522,15 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 391,
|
"x": 390.66666666666663,
|
||||||
"y": 399.33333333333326
|
"y": 398.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/factory_1.tmx": {
|
"map/factory_1.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 244.99999999999997,
|
"x": 245.33333333333337,
|
||||||
"y": 139.33333333333334
|
"y": 139.33333333333334
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1527,7 +1538,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 233.25,
|
"x": 233.5,
|
||||||
"y": 135.5
|
"y": 135.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1535,7 +1546,7 @@
|
|||||||
"scale": 4,
|
"scale": 4,
|
||||||
"selectedLayer": 6,
|
"selectedLayer": 6,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 236.625,
|
"x": 236.5,
|
||||||
"y": 135.75
|
"y": 135.75
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1543,7 +1554,7 @@
|
|||||||
"scale": 0.5,
|
"scale": 0.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 455,
|
"x": 456,
|
||||||
"y": 318
|
"y": 318
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1554,16 +1565,16 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 230.5,
|
"x": 230.33333333333331,
|
||||||
"y": 155.83333333333331
|
"y": 155.66666666666663
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/fort_1.tmx": {
|
"map/fort_1.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 289.66666666666663,
|
"x": 289.99999999999994,
|
||||||
"y": 92.33333333333331
|
"y": 92.66666666666669
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/fort_10.tmx": {
|
"map/fort_10.tmx": {
|
||||||
@@ -1744,8 +1755,8 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 255.66666666666666,
|
"x": 255.99999999999997,
|
||||||
"y": 103.66666666666666
|
"y": 104
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/grove_10.tmx": {
|
"map/grove_10.tmx": {
|
||||||
@@ -1920,8 +1931,8 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 239.99999999999997,
|
||||||
"y": 135.99999999999994
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/grove_9.tmx": {
|
"map/grove_9.tmx": {
|
||||||
@@ -1942,16 +1953,24 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 255.25,
|
"x": 255,
|
||||||
"y": 122.25
|
"y": 122.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"map/kavulair.tmx": {
|
||||||
|
"scale": 1.9712500000000002,
|
||||||
|
"selectedLayer": 0,
|
||||||
|
"viewCenter": {
|
||||||
|
"x": 240.45656309448316,
|
||||||
|
"y": 136.46163601775524
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/magetower_1.tmx": {
|
"map/magetower_1.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 4,
|
||||||
"selectedLayer": 2,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.33333333333331,
|
"x": 218.75,
|
||||||
"y": 136
|
"y": 153.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/magetower_10.tmx": {
|
"map/magetower_10.tmx": {
|
||||||
@@ -1991,7 +2010,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.25,
|
"x": 240.5,
|
||||||
"y": 369.5
|
"y": 369.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1999,7 +2018,7 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 240,
|
||||||
"y": 136
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2092,11 +2111,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/black_castle.tmx": {
|
"map/main_story/black_castle.tmx": {
|
||||||
"scale": 2,
|
"scale": 4,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 235.5,
|
"x": 220.375,
|
||||||
"y": 208.75
|
"y": 487
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/blue_castle.tmx": {
|
"map/main_story/blue_castle.tmx": {
|
||||||
@@ -2109,10 +2128,10 @@
|
|||||||
},
|
},
|
||||||
"map/main_story/colorless_castle.tmx": {
|
"map/main_story/colorless_castle.tmx": {
|
||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 243,
|
"x": 242.75,
|
||||||
"y": 339.25
|
"y": 339
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/crypt.tmx": {
|
"map/main_story/crypt.tmx": {
|
||||||
@@ -2124,11 +2143,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/final_castle.tmx": {
|
"map/main_story/final_castle.tmx": {
|
||||||
"scale": 1.5,
|
"scale": 4,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 212.125,
|
||||||
"y": 912
|
"y": 1718.25
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/forest_capital.tmx": {
|
"map/main_story/forest_capital.tmx": {
|
||||||
@@ -2195,7 +2214,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 240.33333333333334,
|
||||||
"y": 240
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2203,11 +2222,11 @@
|
|||||||
"expandedObjectLayers": [
|
"expandedObjectLayers": [
|
||||||
4
|
4
|
||||||
],
|
],
|
||||||
"scale": 4,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 231.83333333333331,
|
||||||
"y": 240
|
"y": 243.66666666666666
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/main_story/swamp_capital.tmx": {
|
"map/main_story/swamp_capital.tmx": {
|
||||||
@@ -2281,7 +2300,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 3,
|
"selectedLayer": 3,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 239.99999999999997,
|
||||||
"y": 136
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2388,16 +2407,16 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 235.5,
|
"x": 235.33333333333331,
|
||||||
"y": 135.83333333333331
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/nest_blue_1.tmx": {
|
"map/nest_blue_1.tmx": {
|
||||||
"scale": 0.75,
|
"scale": 0.75,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 391.3333333333333,
|
"x": 391.99999999999994,
|
||||||
"y": 350
|
"y": 350.6666666666667
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/nest_white_1.tmx": {
|
"map/nest_white_1.tmx": {
|
||||||
@@ -2415,7 +2434,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 1,
|
"selectedLayer": 1,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.33333333333331,
|
"x": 240.66666666666663,
|
||||||
"y": 239.3333333333333
|
"y": 239.3333333333333
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2671,16 +2690,16 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 239.99999999999997,
|
||||||
"y": 136.66666666666663
|
"y": 136.66666666666669
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/snowabbey_1.tmx": {
|
"map/snowabbey_1.tmx": {
|
||||||
"scale": 1.6011458333333333,
|
"scale": 1.6011458333333333,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240.14052436406223,
|
"x": 240.4528007286449,
|
||||||
"y": 136.15249495803786
|
"y": 136.15249495803783
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/snowabbey_2.tmx": {
|
"map/snowabbey_2.tmx": {
|
||||||
@@ -2706,8 +2725,8 @@
|
|||||||
"scale": 2,
|
"scale": 2,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.75,
|
"x": 240,
|
||||||
"y": 136.25
|
"y": 136.5
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"map/swamp_town_2.tmx": {
|
"map/swamp_town_2.tmx": {
|
||||||
@@ -2744,7 +2763,7 @@
|
|||||||
"scale": 1.5002083333333331,
|
"scale": 1.5002083333333331,
|
||||||
"selectedLayer": 4,
|
"selectedLayer": 4,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.96667129565338,
|
"x": 239.9666712956534,
|
||||||
"y": 136.64768782113595
|
"y": 136.64768782113595
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2784,7 +2803,7 @@
|
|||||||
"scale": 3,
|
"scale": 3,
|
||||||
"selectedLayer": 2,
|
"selectedLayer": 2,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 239.99999999999997,
|
"x": 239.66666666666669,
|
||||||
"y": 240
|
"y": 240
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2808,7 +2827,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 0,
|
"selectedLayer": 0,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 239.99999999999997,
|
||||||
"y": 136
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2816,7 +2835,7 @@
|
|||||||
"scale": 1.5,
|
"scale": 1.5,
|
||||||
"selectedLayer": 5,
|
"selectedLayer": 5,
|
||||||
"viewCenter": {
|
"viewCenter": {
|
||||||
"x": 240,
|
"x": 239.99999999999997,
|
||||||
"y": 136
|
"y": 136
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2830,7 +2849,7 @@
|
|||||||
},
|
},
|
||||||
"tileset/buildings.tsx": {
|
"tileset/buildings.tsx": {
|
||||||
"scaleInDock": 3,
|
"scaleInDock": 3,
|
||||||
"scaleInEditor": 2
|
"scaleInEditor": 1.5
|
||||||
},
|
},
|
||||||
"tileset/main.tsx": {
|
"tileset/main.tsx": {
|
||||||
"dynamicWrapping": false,
|
"dynamicWrapping": false,
|
||||||
@@ -2838,46 +2857,37 @@
|
|||||||
"scaleInEditor": 2
|
"scaleInEditor": 2
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"last.exportedFilePath": "G:/Develop/Forge/forge/forge-gui/res/adventure/Shandalar/maps/map",
|
||||||
"map.height": 60,
|
"map.height": 60,
|
||||||
|
"map.lastUsedExportFilter": "Alle Dateien (*)",
|
||||||
"map.lastUsedFormat": "tmx",
|
"map.lastUsedFormat": "tmx",
|
||||||
"map.layerDataFormat": null,
|
"map.layerDataFormat": null,
|
||||||
"map.tileHeight": 16,
|
"map.tileHeight": 16,
|
||||||
"map.tileWidth": 16,
|
"map.tileWidth": 16,
|
||||||
"map.width": 90,
|
"map.width": 90,
|
||||||
"openFiles": [
|
"openFiles": [
|
||||||
"map/main_story/green_castle.tmx",
|
"map/cave_1.tmx",
|
||||||
"map/main_story/red_castle.tmx",
|
|
||||||
"map/main_story/plains_capital.tmx",
|
|
||||||
"map/main_story/forest_capital.tmx",
|
|
||||||
"map/main_story/mountain_capital.tmx",
|
|
||||||
"map/main_story/island_capital.tmx",
|
|
||||||
"map/main_story/spawn.tmx",
|
|
||||||
"map/main_story/final_castle.tmx",
|
|
||||||
"map/main_story/white_castle.tmx",
|
|
||||||
"tileset/main.tsx",
|
"tileset/main.tsx",
|
||||||
"tileset/buildings.tsx",
|
"map/cave_17.tmx",
|
||||||
"map/zombietown.tmx",
|
"map/cave_2.tmx",
|
||||||
"map/yule_town.tmx",
|
"map/cave_3.tmx",
|
||||||
"map/wurmpond_1.tmx",
|
"tileset/buildings.tsx"
|
||||||
"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": "int",
|
"property.type": "int",
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
"map/main_story/green_castle.tmx",
|
"map/cave_1.tmx",
|
||||||
"map/main_story/red_castle.tmx",
|
"map/cave_1..tmx",
|
||||||
"map/main_story/plains_capital.tmx",
|
"map/catlair_1.tmx",
|
||||||
"map/main_story/forest_capital.tmx",
|
"map/catlair_2.tmx",
|
||||||
"map/main_story/mountain_capital.tmx",
|
"map/catlair_3.tmx",
|
||||||
"map/main_story/island_capital.tmx",
|
"map/main_story/black_castle.tmx",
|
||||||
|
"map/aerie_1.tmx",
|
||||||
|
"map/aerie_1B.tmx",
|
||||||
|
"map/aerie_1C.tmx",
|
||||||
"map/main_story/skep.tmx",
|
"map/main_story/skep.tmx",
|
||||||
"map/main_story/swamp_capital.tmx",
|
"map/main_story/spawn.tmx",
|
||||||
"map/waste_town.tmx",
|
"map/barbariancamp_4.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,15 +1,10 @@
|
|||||||
<?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="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="89">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="89">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="30" height="17">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJxjYCAMZHgIY2oDYs2kpt3IZtXzYleDLE4Nu8k1gxK7KXU3Ofpx6SEmnCmxG6R+Fx6MDJDF9/JgmkOqvSCAyx/YAEitNJXsJRUMZXvR4xJbPEfx4k8HtPAvLD6R0wB6eqBmXqKH/oEor4gxAz0dUctOQmZRmn6JtRtbPUtJ/QsA90Mgnw==
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="30" height="17">
|
<layer id="1" name="Background" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxr4mZgaBrFo3gUj+JRPIpH8YjAAJnxGPY=
|
eJxr4mZgaBrFo3gUj+JRPIpH8YjAAJnxGPY=
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="90">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="90">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="30" height="17">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJy9lYENgCAMBBkAN7CL6TDsBcsJicTmI1Jo8ZNGUPgTKOBcX7vvh7Wknpbs6kX5Gbb3Nvy9BZt70ICfhs37ljJBvbe2M2xkzmq0b22vXSstt+QNn+cz16N/gqt+O7Y5boQgYY5hHoxyi8L97zje1dyWcJ55pIVc6V7W7iVkJYGf1f7767xCj6+8sj6fW16tsa+6C63v3wuqfx2I
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="30" height="17">
|
<layer id="1" name="Background" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxr4mZgaBrFo3gUj+JRPIpH8YjAAJnxGPY=
|
eJxr4mZgaBrFo3gUj+JRPIpH8YjAAJnxGPY=
|
||||||
@@ -22,7 +17,7 @@
|
|||||||
</layer>
|
</layer>
|
||||||
<layer id="7" name="Ornamental Walls" width="30" height="17">
|
<layer id="7" name="Ornamental Walls" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBi8wIKJgeEyHmzJRBs7rxAw9xKV7SbGTmrbDbPzDwl6KLUbZmcYO+l6KbU7hnytZAMzpPBFD2czPH6BpW8TMv2Lnk+IBTA3kWsvTL+9IHn6KLWXVDkYINfea0B9MxjJs3caUN91CtIzPrtpZSc5dlPLTlx2YwtnatuJbPd0Rgg2Q2LDMC3spBUAAGSiK40=
|
eJxjYBi8wIKJgeEyHmzJRBs7rxAw9xKV7SbGTmrbDbPzDwl6KLUbZmcYO+l6KbU7hnytZAMzpPBFD2czPH6BpW8TMv2Lnk+IBTA3kWsvTL+2Nnn6KLWXVDkYINfea0B9MxjJs3caUN91CtIzPrtpZSc5dlPLTlx2YwtnatuJbPd0Rgg2Q2LDMC3spBUAAHpgK5M=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer id="3" name="Clutter" width="30" height="17">
|
<layer id="3" name="Clutter" width="30" height="17">
|
||||||
@@ -30,7 +25,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">
|
||||||
eJxjYBgF6MCMiYGhDYccLnFq2TsQANneN4KYeKQDEyrFC674vcxEnDpy7UHnqzDi1quKR44Y0IZED1R6phe4RqH/rtM4XdEaDEZ7aVk+g8B0RlQaXXyoAAAl7g7H
|
eJxjYBgF6MCMiYGhDYccLnFq2TsQANneG9qYeKQDEyrFC674vcxEnDpy7UHnqzDi1quKR44Y0IZED1R6phe4RqH/rtM4XdEaDEZ7aVk+g8B0RlQaXXyoAADVrA7l
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="50" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="9" nextobjectid="96">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="50" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="9" nextobjectid="96">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="50" height="40">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJzt08ENgCAQBEC+RujAeiwL+qI6HrSgOcSZZP+7yV1KAACs7srRDZ7RN9hRz5mvu48ZiOKX+BP3zltaiW4AAAD7GX1uBos=
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="50" height="40">
|
<layer id="1" name="Background" width="50" height="40">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJztz7ENgDAQBEGniK4JXDclIOOX7hETTL47jzEmAACtXeezdGPFQ/eXlYeuL28eur3sPHR68eHDh4+vfOy+pNsrXtLNFS/p1oqXdCMAAP9wA7bZW78=
|
eJztz7ENgDAQBEGniK4JXDclIOOX7hETTL47jzEmAACtXeezdGPFQ/eXlYeuL28eur3sPHR68eHDh4+vfOy+pNsrXtLNFS/p1oqXdCMAAP9wA7bZW78=
|
||||||
@@ -30,7 +25,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">
|
||||||
eJzt08ENgCAQBMCjA5qgNOxDK5cCICHxYU5nnve6TXYjAACAXb1GHPXtL547R4brAznIK9uWWpnfbYkd2fq+ou8AAMAf3IFIBlE=
|
eJzt07ENgDAMBEAzDE22CXuQ/UsYIEiRUkQmd6Urv/QfAQAAjKol4iqrv5h3vxnaD3KQV7YtnUf/bkuMyNb3L/oOAADs4AEe6waZ
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="68">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="40" height="40" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="68">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="40" height="40">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJzdmGEKwzAIhft30J6g3XV6iF1m99rpxmClEjT6jDWhD4TRuflpNMm2P6Zpv5GVsvp95tNey3U8klB/LyOi94L5c/KwcXFbWLTc1zm+dh4+KU5vPo2xlS+KvRZPm5dDET1Pecrv9NbQK08+mXwecXGz+Wp1RXuwh5AaHoqcDSsflcaXzZbNZ60/F7fn2SFxjMwnPafvoXzb/365kbsmfU2f/Qzh0/KxfOY5n5yUmctD4itjanE9fBatiq+lz9Ae1Pjo/Gp8FlZP/5XrJu0pCJ+Fs/TjFLm+LXySrHzafKB8Vl1Zv4i9eXQ+bi8+xO3RkriZ6n22aXeHUc7fmqx8mfdUGq+lfhnMo6yvlGvPHmydD4TvirX28rXU1fo/nYUtao3R30heQ2Jk8CCsXp872hdPxLb8
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="40" height="40">
|
<layer id="1" name="Background" width="40" height="40">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJzt1KENACAMAMEmKEbs2CQMhOoEFRWcOP/qc0ckAADQdtZ8A0C5ngQAfO4B4qxlhg==
|
eJzt1KENACAMAMEmKEbs2CQMhOoEFRWcOP/qc0ckAADQdtZ8A0C5ngQAfO4B4qxlhg==
|
||||||
@@ -30,7 +25,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">
|
||||||
eJzlWDtOAzEQTZAoECgRRSggVTpKjsUJuA4S3AAkPiehYQ8QLoBSgQlPO5mM52N7A4InRc56x/PxzD5/RqO/ibejYWRLsQsbJXhmz+/7/f8rY6wU08tEf+8BtQsdmi+QQUtjkORqoOlonWM6l1Hk5kB6t2R+z79bK56nsFdrnLLnXG65fS0mDZG8wJezMlOiLq12a3Kc4ronzzyPku1d1q8GbqvUrxKel+pIqy1aC5CTclpanxqknNaMtzhbQ66O+RrC7VwcbPahPfGZ/cJdQNaqiUieIJt0PlbY1GS865W1HkuQchNBaVzom2+/qoLGy93En9vO2KfQvihHUx/o97f61HMz9v1Wgs2h+fl1b91eTvu+xfG23O1hL7tLRGwmWeRhyXjf4lTPeoMW3Obxj87lT83f+Xiz73qal03g8dL/pdwCHoMe5COaXw9arslem2mOqSx8mFX6hPmaZd7DpmdfnmQt3qvhGynGLsCjkKWxtOK/3Pcv8TPg4WdAOr9a4N9EZKwGnA+G3K9Kfua4wYqpRcyIle89SnTTMbl1vWRfxuHRoe3lW+yz4AONs+TsZdWVZKcFNH05Xz33S1FwW/zcQG1xnz01+hCQteC5V7PGRu4Ma+CJd0j7OUTPSL/1Lvg/4gPXOKgV
|
eJzlWDtOAzEQTZAoEIguFJADZEXFYTgLl+AWcAOQ+NRUuQNtinABSjDhaSeT8Xxs74LgSZGz3vF8PLPPn8nkb+LtaBjZUoxhowTP7Pl9v/9/ZYyVYnpZ6O89oHahQ/MFMmhpDJJcDTQdrXNM5zKK3BxI79bM7/l3a8XzFPZqg1P2nMstt6/FpCGSF/hyVmZK1KXVbk2OU1z35JnnUbI9Zv1q4LZK/SrheamOtNqitQA5Kael9alBymnNeIuzNeTqmK8h3M7FwXYf2hOf2S/cBWStmojkCbJJ52OFTU3Gu15Z67EEKTcRlMaFvvnuqypovLxc+HO7NPYptC/K0dQH+v2tPvXcTH2/lWBzaH5+3du0l13fd3y+K3d72MuOiYjNJIs8rBnvW5zqWW/Qgts8/tG5/Kn566bbfdddXjaBx0v/l3ILeAx6kI9ofj1ouSZ7baY5prLwYVbpE+ZrlnkPm559eZK1eK+Gb6QYlwEehSyNpRX/5b5/iZ8BDz8D0vnVAv8mImM14Hww5H5V8jPHDVZMLWJGrHzvUaKbjsmt6yX7Mg6PDm0v32KfBR9onCVnL6uuJDstoOnL+eq5X4qC2+LnBmqL++yp0YeArAXPvZo1NnJnWANPvEPazyF6Rvqtd8H/ER8+QKh7
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="63">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="63">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="30" height="17">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJztlVEOgzAIhnkXT2C82DxL3blcu7tNYon/GG1s4t76J6RogQ8bU4gOLSPRi4ke42GLWW1MSbJvTWt4uTN/58rzlNeNz3eiiako27/4kc8cm1vjqmL2N9O3spSh9THO40perHyDJz0DZKGQI2yPOzcyrwg5+K/8m1vro3M7t3Pv4753/zm01wp7TrrYs+XqXeexpe6azdtL+Q5fK3ElrmVjjcTlvvTOxxicWQH6wHOx88ibm9aQHYZfZot9ALewVBU=
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="30" height="17">
|
<layer id="1" name="Background" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJyrZWFgqB3Fo3gUj+JRPIpH8YjAADIiAQ4=
|
eJyrZWFgqB3Fo3gUj+JRPIpH8YjAADIiAQ4=
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="56">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="56">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="30" height="17">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJyL5mVg2MVDXxwFtFMWSNMbSPMQb680knthYBcJ+smxt5abgWEPDnV7geL13NS3F2Ynul8psZsYe6WJDEdSwnvUXvz24opfWti7E5rP8YFooPxuKtsLsxuXOpAZpNhJir0ggK/cIxWQYi81wai99LOX1LoT5k5y9CJjAITiRXU=
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="30" height="17">
|
<layer id="1" name="Background" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJzr42Rg6MOC25AwNnl86onB1DJnqNtLrt3E6hu1d9TeUXtH7R3q9pJjJ6nuG6z20qL+BQDfkyFi
|
eJzr42Rg6MOC25AwNnl86onB1DJnqNtLrt3E6hu1d9TeUXtH7R3q9pJjJ6nuG6z20qL+BQDfkyFi
|
||||||
|
|||||||
@@ -1,15 +1,10 @@
|
|||||||
<?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="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="56">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="17" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="56">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="3477" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
<layer id="6" name="Collision" width="30" height="17">
|
|
||||||
<data encoding="base64" compression="zlib">
|
|
||||||
eJyL5mVg2MVDXxwFtFMWSNMbSPOM2ksMgMUTPezFZw+pbiDHv9JI6ZLcOBpK9lIDDAV7BzpdUQOM2osfoMcjuWXWQPqX1LoT5k5y9CJjAGyrOkI=
|
|
||||||
</data>
|
|
||||||
</layer>
|
|
||||||
<layer id="1" name="Background" width="30" height="17">
|
<layer id="1" name="Background" width="30" height="17">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJzr42Rg6MOC25AwNnl86onB1DJnqNtLrt3E6hu1d9TeUXtH7R3q9pJjJ6nuG6z20qL+BQDfkyFi
|
eJzr42Rg6MOC25AwNnl86onB1DJnqNtLrt3E6hu1d9TeUXtH7R3q9pJjJ6nuG6z20qL+BQDfkyFi
|
||||||
@@ -25,11 +20,11 @@
|
|||||||
<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">
|
||||||
eJy9VTkSwjAMTEsR4FfxTPgPOR5pfkCdtNDREA3ZyUYj2U7DNtg6bHm1KFW14XH6/c5ki4ZtqPf+YNgFo9rzHZ5fA/d2FNvm04rQGLaSmgSoq1/jb+seXER6Z1B7neMhFNp7VbPugwb83IvneVtLrcwD+3JgnUy05rsYn8TZ7MO5OAccaC2wTri/s4rj/WvJedcbL90BPrVe7kYszmOf1H9Z3nc9wK3A0qzWQ07DrDvOnZWfObLeBQzqXYyUdixfdHSSgpUD7VhzS3y6xymI5lpaT0aM1lcOzBn6ZfW2BE2V7vlYODstTvAunBGcWO4768vjxZoHVm1evthLvjcc72kY/fRm1D+R+i95s8biDbbofG+/XkBHzQ==
|
eJy9VTkSwjAMdEvBO8JP4pnwH3I8kcL8ADom+QIUoCGaLJqVbRq2wZZkWV4tSggbLrvP7wK2RGzj/tsfiV0wmT3e4fkt9N4eYrvysSq0xFZTk0DrGtb447pXLhK8M5q9PeMhVtoHU7Ptg4X6sRfnw7aWWpEH9JWAOplhjXch7pnc6NO8mkc5sFpAnWB/FxOH+2sTwq3ZeOl/4NPq5URiNR/6pP7H+85n4+dmYJq1eihpGHWHZxfjR47YuxSjeRcipx3mS45OcmBnVDtsbonP9jgH0VwH65nEWH2VgJxpv1hva9CGfM+nytnJONF3aY7oxGLfUV8eL2wesNq882Kv+d5gvKdh7ac3o/6J3H/JmzWMN7Ul53v7ApCcShM=
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
<object id="38" template="../obj/entry_up.tx" x="208" y="281">
|
<object id="38" template="../obj/entry_up.tx" x="1" y="281" width="478" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="teleport" value=""/>
|
<property name="teleport" value=""/>
|
||||||
</properties>
|
</properties>
|
||||||
|
|||||||
112
forge-gui/res/adventure/Shandalar/maps/map/cave_1..tmx
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="60">
|
||||||
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
|
<tileset firstgid="10113" source="../tileset/buildings.tsx"/>
|
||||||
|
<layer id="1" name="Background" width="30" height="30">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJzz42Rg8BvFo3gUj+JRPIqHINbghuCRYi/M7uEa1gMZnwMRxgPh17wBtpfecZyHZvdgsDePTm4YqeXUSLOXGvEMABb/Ltw=
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<layer id="6" name="BackgroundBlend" width="30" height="30">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJxjYBgFo2AUjIJRMApGwVAA6tz0secE0J4uLvrbO5CgB+pfevmVD2jfRQ4GBi2ofUeB9DE62Z3PiYjjbi7C6qkFYH4GAU06pymQn0EAFt7nge64wIFwD60AzM+g8AaFdS4nqntoBfI4Uf3MDbSbB4h56RjfWgNUbgyUvejl5lACAE8hEqc=
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<layer id="2" name="Ground" width="30" height="30">
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJztlE0KgCAQRl2OB8uii1rWrfqhY2SoIGK1aT4IZuAtZvX8RkejlTKCIAiC8AMcKTXTfc9F6+kfek7v4pkosAG91vuGjAPkReR7mvOqMW/KxfvMqwFlLQuRveYtz8DhfvNyzX3XYW9Gqjst806Vfgvc4+S/CuVLuJgXscM5XcyL/r++8p7+7h8J
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<layer id="7" name="Foreground" width="30" height="30">
|
||||||
|
<properties>
|
||||||
|
<property name="spriteLayer" type="bool" value="true"/>
|
||||||
|
</properties>
|
||||||
|
<data encoding="base64" compression="zlib">
|
||||||
|
eJztwQEBAAAAgiD/r25IQAEAAPBoDhAAAQ==
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<objectgroup id="4" name="Objects">
|
||||||
|
<object id="38" template="../obj/entry_up.tx" x="196" y="480" width="40" height="8">
|
||||||
|
<properties>
|
||||||
|
<property name="teleport" value=""/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="48" template="../obj/treasure.tx" x="240" y="400">
|
||||||
|
<properties>
|
||||||
|
<property name="reward">[{
|
||||||
|
"type": "randomCard",
|
||||||
|
"count": 2,
|
||||||
|
"colors": [ "colorID" ]
|
||||||
|
},{
|
||||||
|
"type": "randomCard",
|
||||||
|
"count": 1,
|
||||||
|
"probability": 0.5,
|
||||||
|
"rarity": [ "rare" ],
|
||||||
|
"colors": [ "colorID" ]
|
||||||
|
},{
|
||||||
|
"type": "randomCard",
|
||||||
|
"colors": [ "green" ],
|
||||||
|
"count": 3,
|
||||||
|
"addMaxCount": 2
|
||||||
|
}]</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="49" template="../obj/gold.tx" x="144" y="384"/>
|
||||||
|
<object id="50" template="../obj/enemy.tx" x="208" y="448">
|
||||||
|
<properties>
|
||||||
|
<property name="enemy" value="Wurm"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="55" template="../obj/enemy.tx" x="152" y="288.333">
|
||||||
|
<properties>
|
||||||
|
<property name="enemy" value="Wurm"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="56" template="../obj/enemy.tx" x="194.333" y="283">
|
||||||
|
<properties>
|
||||||
|
<property name="effect">{
|
||||||
|
"lifeModifier": 4,
|
||||||
|
"startBattleWithCard": [ "Forest", "Forest" ]
|
||||||
|
}</property>
|
||||||
|
<property name="enemy" value="Wurm"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="57" template="../obj/enemy.tx" x="216.667" y="255">
|
||||||
|
<properties>
|
||||||
|
<property name="effect">{
|
||||||
|
"lifeModifier": 10,
|
||||||
|
"startBattleWithCard": [ "Sandwurm Convergence" ]
|
||||||
|
}</property>
|
||||||
|
<property name="enemy" value="Wurm"/>
|
||||||
|
<property name="spawn.Easy" type="bool" value="false"/>
|
||||||
|
<property name="spawn.Hard" type="bool" value="true"/>
|
||||||
|
<property name="spawn.Normal" type="bool" value="false"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="51" template="../obj/treasure.tx" x="152" y="256.333"/>
|
||||||
|
<object id="58" template="../obj/treasure.tx" x="216.333" y="272.333">
|
||||||
|
<properties>
|
||||||
|
<property name="reward">[{
|
||||||
|
"type": "randomCard",
|
||||||
|
"count": 1,
|
||||||
|
"rarity": [ "rare", "mythic rare" ],
|
||||||
|
"colors": [ "colorID" ]
|
||||||
|
},{
|
||||||
|
"type": "randomCard",
|
||||||
|
"count": 4,
|
||||||
|
"rarity": [ "uncommon" ],
|
||||||
|
"addMaxCount": 2
|
||||||
|
}]</property>
|
||||||
|
<property name="spawn.Hard" type="bool" value="false"/>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
<object id="52" template="../obj/gold.tx" x="152.333" y="320"/>
|
||||||
|
<object id="59" template="../obj/gold.tx" x="320" y="384" visible="0">
|
||||||
|
<properties>
|
||||||
|
<property name="reward">[{
|
||||||
|
"type": "gold", "count": 250
|
||||||
|
}]</property>
|
||||||
|
</properties>
|
||||||
|
</object>
|
||||||
|
</objectgroup>
|
||||||
|
</map>
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="60">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="8" nextobjectid="60">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export format="tmx"/>
|
<export target="cave_1..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../tileset/main.tsx"/>
|
||||||
<tileset firstgid="6321" source="../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" 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">
|
||||||
eJzz42Rg8BvFo3gUj+JRPIqHINbghuCRYi/M7uEa1gMZnwMRxgPh17wBtpfecZyHZvdgsDePTm4YqeXUSLOXGvEMABb/Ltw=
|
eJzz42Rg8BvFo3gUj+JRPIqHINbghuCRYi/M7uEa1gMZnwMRxgPh17wBtpfecZyHZvdgsDePTm4YqeXUSLOXGvEMABb/Ltw=
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</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">
|
||||||
eJztlEsKgCAURR0qtK0sWkk7s6xd9aFlZKgkUjbRC8F7cAaOjle9SsGYJAiCIIgfoDljM39fl6IxdIl1Se9imLhlA3qV8Q0BB8iLyJc651Vg3pR29xlODcoaDyL7kzfeQwn3l9dPX93k8O7C9mbkzz5VuFOxXwF77P3XoHwe7fIiOhzSurzo/yuX9wRfCR8q
|
eJztlE0KgCAQRl2OB8uii1rWrfqhY2SoIGK1aT4IZuAtZvX8RkejlTKCIAiC8AMcKTXTfc9F6+kfek7v4pkosAG91vuGjAPkReR7mvOqMW/KxfvMqwFlLQuRveYtz8DhfvNyzX3XYW9Gqjst806Vfgvc4+S/CuVLuJgXscM5XcyL/r++8p7+7h8J
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<layer id="7" name="Foreground" width="30" height="30">
|
<layer id="7" name="Foreground" width="30" height="30">
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.8" tiledversion="1.8.4" orientation="orthogonal" renderorder="right-down" width="30" height="30" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="69">
|
<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>
|
||||||
<tileset firstgid="1" source="../../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../../tileset/main.tsx"/>
|
||||||
<tileset firstgid="6321" source="../../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" 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">
|
||||||
eJztkzEKwDAMA7N27iP7o7y3Q7cQFUm2KRQPtwScs+VkHmPMpml+y3U+rGdMXZYbwfSa5VJ7qXY6Ga+1js91KhlmZcx40Ntx3ezO0N2RmaNvtcrL1jl/CPmZ+apzfvO58yr/ZlfnZszuGfWU4XWyj3iVXCu8ajZN8yU3OswQ5g==
|
eJztkzEKwDAMA7N27iP7o7y3Q7cQFUm2KRQPtwScs+VkHmPMpml+y3U+rGdMXZYbwfSa5VJ7qXY6Ga+1js91KhlmZcx40Ntx3ezO0N2RmaNvtcrL1jl/CPmZ+apzfvO58yr/ZlfnZszuGfWU4XWyj3iVXCu8ajZN8yU3OswQ5g==
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
"condition":[ { "item":"Strange Key"} ],
|
"condition":[ { "item":"Strange Key"} ],
|
||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[
|
"options":[
|
||||||
{"name":"continue","action": [ {"deleteMapObject":-1 } ] }
|
{"name":"continue","action": [ {"deleteMapObject":-1 },{"removeItem":"Strange Key"} ] }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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.4" orientation="orthogonal" renderorder="right-down" width="30" height="114" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="63">
|
<map version="1.9" tiledversion="1.9.2" orientation="orthogonal" renderorder="right-down" width="30" height="114" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="63">
|
||||||
<editorsettings>
|
<editorsettings>
|
||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[
|
"options":[
|
||||||
{
|
{
|
||||||
"name":"continue","action":[{"deleteMapObject":-1}]
|
"name":"continue","action":[{"deleteMapObject":-1},{"removeItem":"Red Key"}]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
"name":"unlock with blue key",
|
"name":"unlock with blue key",
|
||||||
"condition":[{"item":"Blue Key"}],
|
"condition":[{"item":"Blue Key"}],
|
||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[ {"name":"continue","action":[{"deleteMapObject":-1}]} ]
|
"options":[ {"name":"continue","action":[{"deleteMapObject":-1},{"removeItem":"Blue Key"}]} ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]</property>
|
}]</property>
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
"name":"unlock with green key",
|
"name":"unlock with green key",
|
||||||
"condition":[{"item":"Green Key"}],
|
"condition":[{"item":"Green Key"}],
|
||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[{"name":"continue","action":[ {"deleteMapObject":-1}]} ]
|
"options":[{"name":"continue","action":[ {"deleteMapObject":-1},{"removeItem":"Green Key"}]} ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]</property>
|
}]</property>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
"name":"unlock with white key",
|
"name":"unlock with white key",
|
||||||
"condition":[{"item":"White Key"}],
|
"condition":[{"item":"White Key"}],
|
||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[{"name":"continue", "action":[ {"deleteMapObject":-1}]} ]
|
"options":[{"name":"continue", "action":[ {"deleteMapObject":-1},{"removeItem":"White Key"}]} ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]</property>
|
}]</property>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"name":"unlock with black key",
|
"name":"unlock with black key",
|
||||||
"condition":[{"item":"Black Key"}],
|
"condition":[{"item":"Black Key"}],
|
||||||
"text":"The gate is unlocked",
|
"text":"The gate is unlocked",
|
||||||
"options":[{"name":"continue", "action":[ {"deleteMapObject":-1}]} ]
|
"options":[{"name":"continue", "action":[ {"deleteMapObject":-1},{"removeItem":"Black Key"}]} ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}]</property>
|
}]</property>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<export target="wastetown..tmx" format="tmx"/>
|
<export target="wastetown..tmx" format="tmx"/>
|
||||||
</editorsettings>
|
</editorsettings>
|
||||||
<tileset firstgid="1" source="../../tileset/main.tsx"/>
|
<tileset firstgid="1" source="../../tileset/main.tsx"/>
|
||||||
<tileset firstgid="6321" source="../../tileset/buildings.tsx"/>
|
<tileset firstgid="10113" 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">
|
||||||
eJzt1DEKwCAMBVAHt17YS3nHDl2kaBpj8j+UDB/EwWcSsV2ltExmM70+YZhjIs7V7Hm5Um3e7leNUiyzmXlo1xqWK9mRJtNd2eniXMabHvcRnrbnJ/ex/smrteRYTY85nJqaPrwtb3d2PqLeHTei1wwX/a6QffxTbui3Dvk=
|
eJzt1DEKwCAMBVAHt17YS3nHDl2kaBpj8j+UDB/EwWcSsV2ltExmM70+YZhjIs7V7Hm5Um3e7leNUiyzmXlo1xqWK9mRJtNd2eniXMabHvcRnrbnJ/ex/smrteRYTY85nJqaPrwtb3d2PqLeHTei1wwX/a6QffxTbui3Dvk=
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
</layer>
|
</layer>
|
||||||
<layer id="5" name="Overlay" width="30" height="30" visible="0">
|
<layer id="5" name="Overlay" width="30" height="30" visible="0">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJxjYBgFo2AUDAbgLsvA4CGLyR4FgxcQG0+44nY0ngc34ATGDRc0fqKlGBhipLCrG43fUTAKRsEoGAVDGQAA8c0ISg==
|
eJzt0bENwCAQBMHtAlpA//33AtU4cIgtET7STnTBZQuSKmgJPfetuk47/bW1c20zYMW7Y0CO7599JUk3ewCmfgdy
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="4" name="Objects">
|
<objectgroup id="4" name="Objects">
|
||||||
@@ -38,32 +38,46 @@
|
|||||||
<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" class="dialog" gid="7627" x="238" y="208" width="16" height="16">
|
<object id="67" name="IntroChar" class="dialog" gid="11419" x="238" y="208" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="dialog">[{
|
<property name="dialog">[{
|
||||||
"text":"Hello Planeswalker {var=player_name}",
|
"text":"HELLO PLANESWALKER {var=player_name}",
|
||||||
"options":[
|
"options":[
|
||||||
{
|
{
|
||||||
"name":"Why am I here",
|
"name":"Why am I here",
|
||||||
"condition":[ { "checkMapFlag": "intro" ,"not":true} ],
|
"condition":[ { "checkMapFlag": "intro" ,"not":true} ],
|
||||||
"text":"You traveld to the planes of Shandalar\nEvery Planeswalker is trapped here",
|
"text":"THIS... IS SHANDALAR A PLANE WHERE MANA IS SO PREVALENT AND USED BY ALL THAT IS SENTIENT EVEN THE COMMON PEOPLE USE SPELLS DAILY",
|
||||||
"options":[
|
"voiceFile":"audio/WizPAR1.mp3",
|
||||||
{
|
"options":[
|
||||||
"name":"continue",
|
{
|
||||||
"text":"You have to defeat every guardianTake this rune, it will let you travel back to me.",
|
"name":"continue",
|
||||||
"options":[
|
"text":"LIKE YOU,SOME PLANESWALKERS HAVE BEEN IMPRISONED HEREBY THE GUARDIANS IN THE CASTLES YOU MUST DEFEAT THEM IN BATTLE TO RELEASE US FROM THIS PLANE USE YOUR POWERS OF MAGIC TO CHALLENGE THEM",
|
||||||
{
|
"voiceFile":"audio/WizPAR2.mp3"
|
||||||
"name":"thank you",
|
"options":[
|
||||||
"action":[{"advanceMapFlag":"intro"},{"addItem":"Colorless rune"}]
|
{
|
||||||
}
|
"name":"continue",
|
||||||
]
|
"text":"FIND THE PLANESWALKERS TRAPPED HERE GUIDE THEM TO ME, THEY WILL HELP YOU ON YOUR JOURNEY.",
|
||||||
}
|
"voiceFile":"audio/WizPAR3.mp3",
|
||||||
]
|
"options":[
|
||||||
},
|
{
|
||||||
|
"name":"continue",
|
||||||
|
"text":"TAKE THIS RUNE YOU CAN USE IT ANYTIME TO RETURN HERE BE CAREFUL PLANESWALKER",
|
||||||
|
"voiceFile":"audio/WizPAR4.mp3"
|
||||||
|
"options":[
|
||||||
|
{
|
||||||
|
"name":"thank you",
|
||||||
|
"action":[{"advanceMapFlag":"intro"},{"addItem":"Colorless rune"}]
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{ "name":"Bye" }
|
{ "name":"Bye" }
|
||||||
]
|
]
|
||||||
}]</property>
|
}]</property>
|
||||||
<property name="sprite" value="sprites/knight.atlas"/>
|
<property name="sprite" value="sprites/black_wiz2.atlas"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 228 KiB |
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<tileset version="1.9" tiledversion="1.9.1" name="buildings" tilewidth="16" tileheight="16" tilecount="1624" columns="28">
|
<tileset version="1.9" tiledversion="1.9.2" name="buildings" tilewidth="16" tileheight="16" tilecount="2048" columns="32">
|
||||||
<image source="buildings.png" width="448" height="928"/>
|
<image source="buildings.png" width="512" height="1024"/>
|
||||||
<tile id="28">
|
<tile id="28">
|
||||||
<objectgroup draworder="index" id="2">
|
<objectgroup draworder="index" id="2">
|
||||||
<object id="1" x="1" y="0" width="15" height="16"/>
|
<object id="1" x="1" y="0" width="15" height="16"/>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 593 KiB After Width: | Height: | Size: 494 KiB |
576
forge-gui/res/adventure/Shandalar/skin/keys.atlas
Normal file
@@ -0,0 +1,576 @@
|
|||||||
|
|
||||||
|
keys.png
|
||||||
|
size: 480, 112
|
||||||
|
format: RGBA8888
|
||||||
|
filter: Nearest, Nearest
|
||||||
|
repeat: none
|
||||||
|
1
|
||||||
|
xy: 0, 0
|
||||||
|
size: 16, 16
|
||||||
|
1_pressed
|
||||||
|
xy: 16, 0
|
||||||
|
size: 16, 16
|
||||||
|
2
|
||||||
|
xy: 32, 0
|
||||||
|
size: 16, 16
|
||||||
|
2_pressed
|
||||||
|
xy: 48, 0
|
||||||
|
size: 16, 16
|
||||||
|
3
|
||||||
|
xy: 64, 0
|
||||||
|
size: 16, 16
|
||||||
|
3_pressed
|
||||||
|
xy: 80, 0
|
||||||
|
size: 16, 16
|
||||||
|
4
|
||||||
|
xy: 96, 0
|
||||||
|
size: 16, 16
|
||||||
|
4_pressed
|
||||||
|
xy: 112, 0
|
||||||
|
size: 16, 16
|
||||||
|
5
|
||||||
|
xy: 128, 0
|
||||||
|
size: 16, 16
|
||||||
|
5_pressed
|
||||||
|
xy: 144, 0
|
||||||
|
size: 16, 16
|
||||||
|
6
|
||||||
|
xy: 160, 0
|
||||||
|
size: 16, 16
|
||||||
|
6_pressed
|
||||||
|
xy: 176, 0
|
||||||
|
size: 16, 16
|
||||||
|
7
|
||||||
|
xy: 192, 0
|
||||||
|
size: 16, 16
|
||||||
|
7_pressed
|
||||||
|
xy: 208, 0
|
||||||
|
size: 16, 16
|
||||||
|
8
|
||||||
|
xy: 224, 0
|
||||||
|
size: 16, 16
|
||||||
|
8_pressed
|
||||||
|
xy: 240, 0
|
||||||
|
size: 16, 16
|
||||||
|
9
|
||||||
|
xy: 256, 0
|
||||||
|
size: 16, 16
|
||||||
|
9_pressed
|
||||||
|
xy: 272, 0
|
||||||
|
size: 16, 16
|
||||||
|
0
|
||||||
|
xy: 288, 0
|
||||||
|
size: 16, 16
|
||||||
|
0_pressed
|
||||||
|
xy: 304, 0
|
||||||
|
size: 16, 16
|
||||||
|
clear
|
||||||
|
xy: 320, 0
|
||||||
|
size: 16, 16
|
||||||
|
clear_pressed
|
||||||
|
xy: 336, 0
|
||||||
|
size: 16, 16
|
||||||
|
Back
|
||||||
|
xy: 352, 0
|
||||||
|
size: 32, 16
|
||||||
|
Back_pressed
|
||||||
|
xy: 384, 0
|
||||||
|
size: 32, 16
|
||||||
|
Escape
|
||||||
|
xy: 416, 0
|
||||||
|
size: 16, 16
|
||||||
|
Escape_pressed
|
||||||
|
xy: 448, 0
|
||||||
|
size: 16, 16
|
||||||
|
Q
|
||||||
|
xy: 0, 16
|
||||||
|
size: 16, 16
|
||||||
|
Q_pressed
|
||||||
|
xy: 16, 16
|
||||||
|
size: 16, 16
|
||||||
|
W
|
||||||
|
xy: 32, 16
|
||||||
|
size: 16, 16
|
||||||
|
W_pressed
|
||||||
|
xy: 48, 16
|
||||||
|
size: 16, 16
|
||||||
|
E
|
||||||
|
xy: 64, 16
|
||||||
|
size: 16, 16
|
||||||
|
E_pressed
|
||||||
|
xy: 80, 16
|
||||||
|
size: 16, 16
|
||||||
|
R
|
||||||
|
xy: 96, 16
|
||||||
|
size: 16, 16
|
||||||
|
R_pressed
|
||||||
|
xy: 112, 16
|
||||||
|
size: 16, 16
|
||||||
|
T
|
||||||
|
xy: 128, 16
|
||||||
|
size: 16, 16
|
||||||
|
T_pressed
|
||||||
|
xy: 144, 16
|
||||||
|
size: 16, 16
|
||||||
|
Y
|
||||||
|
xy: 160, 16
|
||||||
|
size: 16, 16
|
||||||
|
Y_pressed
|
||||||
|
xy: 176, 16
|
||||||
|
size: 16, 16
|
||||||
|
U
|
||||||
|
xy: 192, 16
|
||||||
|
size: 16, 16
|
||||||
|
U_pressed
|
||||||
|
xy: 208, 16
|
||||||
|
size: 16, 16
|
||||||
|
I
|
||||||
|
xy: 224, 16
|
||||||
|
size: 16, 16
|
||||||
|
I_pressed
|
||||||
|
xy: 240, 16
|
||||||
|
size: 16, 16
|
||||||
|
O
|
||||||
|
xy: 256, 16
|
||||||
|
size: 16, 16
|
||||||
|
O_pressed
|
||||||
|
xy: 272, 16
|
||||||
|
size: 16, 16
|
||||||
|
P
|
||||||
|
xy: 288, 16
|
||||||
|
size: 16, 16
|
||||||
|
P_pressed
|
||||||
|
xy: 304, 16
|
||||||
|
size: 16, 16
|
||||||
|
clearSquare
|
||||||
|
xy: 320, 16
|
||||||
|
size: 16, 16
|
||||||
|
clearSquare_pressed
|
||||||
|
xy: 336, 16
|
||||||
|
size: 16, 16
|
||||||
|
Enter
|
||||||
|
xy: 352, 16
|
||||||
|
size: 32, 16
|
||||||
|
Enter_pressed
|
||||||
|
xy: 384, 16
|
||||||
|
size: 32, 16
|
||||||
|
Tab
|
||||||
|
xy: 416, 16
|
||||||
|
size: 32, 16
|
||||||
|
Tab_pressed
|
||||||
|
xy: 448, 16
|
||||||
|
size: 32, 16
|
||||||
|
A
|
||||||
|
xy: 0, 32
|
||||||
|
size: 16, 16
|
||||||
|
A_pressed
|
||||||
|
xy: 16, 32
|
||||||
|
size: 16, 16
|
||||||
|
S
|
||||||
|
xy: 32, 32
|
||||||
|
size: 16, 16
|
||||||
|
S_pressed
|
||||||
|
xy: 48, 32
|
||||||
|
size: 16, 16
|
||||||
|
D
|
||||||
|
xy: 64, 32
|
||||||
|
size: 16, 16
|
||||||
|
D_pressed
|
||||||
|
xy: 80, 32
|
||||||
|
size: 16, 16
|
||||||
|
F
|
||||||
|
xy: 96, 32
|
||||||
|
size: 16, 16
|
||||||
|
F_pressed
|
||||||
|
xy: 112, 32
|
||||||
|
size: 16, 16
|
||||||
|
G
|
||||||
|
xy: 128, 32
|
||||||
|
size: 16, 16
|
||||||
|
G_pressed
|
||||||
|
xy: 144, 32
|
||||||
|
size: 16, 16
|
||||||
|
H
|
||||||
|
xy: 160, 32
|
||||||
|
size: 16, 16
|
||||||
|
H_pressed
|
||||||
|
xy: 176, 32
|
||||||
|
size: 16, 16
|
||||||
|
J
|
||||||
|
xy: 192, 32
|
||||||
|
size: 16, 16
|
||||||
|
J_pressed
|
||||||
|
xy: 208, 32
|
||||||
|
size: 16, 16
|
||||||
|
K
|
||||||
|
xy: 224, 32
|
||||||
|
size: 16, 16
|
||||||
|
K_pressed
|
||||||
|
xy: 240, 32
|
||||||
|
size: 16, 16
|
||||||
|
L
|
||||||
|
xy: 256, 32
|
||||||
|
size: 16, 16
|
||||||
|
L_pressed
|
||||||
|
xy: 272, 32
|
||||||
|
size: 16, 16
|
||||||
|
Up
|
||||||
|
xy: 288, 32
|
||||||
|
size: 16, 16
|
||||||
|
Up_pressed
|
||||||
|
xy: 304, 32
|
||||||
|
size: 16, 16
|
||||||
|
clearSquareLong
|
||||||
|
xy: 320, 32
|
||||||
|
size: 32, 16
|
||||||
|
Space
|
||||||
|
xy: 352, 32
|
||||||
|
size: 32, 16
|
||||||
|
Space_pressed
|
||||||
|
xy: 384, 32
|
||||||
|
size: 32, 16
|
||||||
|
L-Shift
|
||||||
|
xy: 416, 32
|
||||||
|
size: 32, 16
|
||||||
|
L-Shift_pressed
|
||||||
|
xy: 448, 32
|
||||||
|
size: 32, 16
|
||||||
|
R-Shift
|
||||||
|
xy: 416, 32
|
||||||
|
size: 32, 16
|
||||||
|
R-Shift_pressed
|
||||||
|
xy: 448, 32
|
||||||
|
size: 32, 16
|
||||||
|
Z
|
||||||
|
xy: 0, 48
|
||||||
|
size: 16, 16
|
||||||
|
Z_pressed
|
||||||
|
xy: 16, 48
|
||||||
|
size: 16, 16
|
||||||
|
X
|
||||||
|
xy: 32, 48
|
||||||
|
size: 16, 16
|
||||||
|
X_pressed
|
||||||
|
xy: 48, 48
|
||||||
|
size: 16, 16
|
||||||
|
C
|
||||||
|
xy: 64, 48
|
||||||
|
size: 16, 16
|
||||||
|
C_pressed
|
||||||
|
xy: 80, 48
|
||||||
|
size: 16, 16
|
||||||
|
V
|
||||||
|
xy: 96, 48
|
||||||
|
size: 16, 16
|
||||||
|
V_pressed
|
||||||
|
xy: 112, 48
|
||||||
|
size: 16, 16
|
||||||
|
B
|
||||||
|
xy: 128, 48
|
||||||
|
size: 16, 16
|
||||||
|
B_pressed
|
||||||
|
xy: 144, 48
|
||||||
|
size: 16, 16
|
||||||
|
N
|
||||||
|
xy: 160, 48
|
||||||
|
size: 16, 16
|
||||||
|
N_pressed
|
||||||
|
xy: 176, 48
|
||||||
|
size: 16, 16
|
||||||
|
M
|
||||||
|
xy: 192, 48
|
||||||
|
size: 16, 16
|
||||||
|
M_pressed
|
||||||
|
xy: 208, 48
|
||||||
|
size: 16, 16
|
||||||
|
Left
|
||||||
|
xy: 224, 48
|
||||||
|
size: 16, 16
|
||||||
|
Left_pressed
|
||||||
|
xy: 240, 48
|
||||||
|
size: 16, 16
|
||||||
|
Right
|
||||||
|
xy: 256, 48
|
||||||
|
size: 16, 16
|
||||||
|
Right_pressed
|
||||||
|
xy: 272, 48
|
||||||
|
size: 16, 16
|
||||||
|
Down
|
||||||
|
xy: 288, 48
|
||||||
|
size: 16, 16
|
||||||
|
Down_pressed
|
||||||
|
xy: 304, 48
|
||||||
|
size: 16, 16
|
||||||
|
clearSquareLong_pressed
|
||||||
|
xy: 320, 48
|
||||||
|
size: 32, 16
|
||||||
|
R-Alt
|
||||||
|
xy: 352, 48
|
||||||
|
size: 32, 16
|
||||||
|
R-Alt_pressed
|
||||||
|
xy: 384, 48
|
||||||
|
size: 32, 16
|
||||||
|
L-Alt
|
||||||
|
xy: 352, 48
|
||||||
|
size: 32, 16
|
||||||
|
L-Alt_pressed
|
||||||
|
xy: 384, 48
|
||||||
|
size: 32, 16
|
||||||
|
Control
|
||||||
|
xy: 416, 48
|
||||||
|
size: 32, 16
|
||||||
|
Control_pressed
|
||||||
|
xy: 448, 48
|
||||||
|
size: 32, 16
|
||||||
|
XBox_B
|
||||||
|
xy: 0, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_B_pressed
|
||||||
|
xy: 16, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_A
|
||||||
|
xy: 32, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_A_pressed
|
||||||
|
xy: 48, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Y
|
||||||
|
xy: 64, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Y_pressed
|
||||||
|
xy: 80, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_X
|
||||||
|
xy: 96, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_X_pressed
|
||||||
|
xy: 112, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_L
|
||||||
|
xy: 128, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_L_pressed
|
||||||
|
xy: 144, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_R
|
||||||
|
xy: 160, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_R_pressed
|
||||||
|
xy: 176, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_L2
|
||||||
|
xy: 192, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_L2_pressed
|
||||||
|
xy: 208, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_R2
|
||||||
|
xy: 224, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_R2_pressed
|
||||||
|
xy: 240, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Select
|
||||||
|
xy: 256, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Select_pressed
|
||||||
|
xy: 272, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Start
|
||||||
|
xy: 288, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Start_pressed
|
||||||
|
xy: 304, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Left
|
||||||
|
xy: 320, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Left_pressed
|
||||||
|
xy: 336, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Right
|
||||||
|
xy: 352, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Right_pressed
|
||||||
|
xy: 368, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Down
|
||||||
|
xy: 384, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Down_pressed
|
||||||
|
xy: 400, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Up
|
||||||
|
xy: 416, 64
|
||||||
|
size: 16, 16
|
||||||
|
XBox_Up_pressed
|
||||||
|
xy: 432, 64
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_B
|
||||||
|
xy: 0, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_B_pressed
|
||||||
|
xy: 16, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_A
|
||||||
|
xy: 32, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_A_pressed
|
||||||
|
xy: 48, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Y
|
||||||
|
xy: 64, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Y_pressed
|
||||||
|
xy: 80, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_X
|
||||||
|
xy: 96, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_X_pressed
|
||||||
|
xy: 112, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_L
|
||||||
|
xy: 128, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_L_pressed
|
||||||
|
xy: 144, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_R
|
||||||
|
xy: 160, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_R_pressed
|
||||||
|
xy: 176, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_L2
|
||||||
|
xy: 192, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_L2_pressed
|
||||||
|
xy: 208, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_R2
|
||||||
|
xy: 224, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_R2_pressed
|
||||||
|
xy: 240, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Select
|
||||||
|
xy: 256, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Select_pressed
|
||||||
|
xy: 272, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Start
|
||||||
|
xy: 288, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Start_pressed
|
||||||
|
xy: 304, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Left
|
||||||
|
xy: 320, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Left_pressed
|
||||||
|
xy: 336, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Right
|
||||||
|
xy: 352, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Right_pressed
|
||||||
|
xy: 368, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Down
|
||||||
|
xy: 384, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Down_pressed
|
||||||
|
xy: 400, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Up
|
||||||
|
xy: 416, 80
|
||||||
|
size: 16, 16
|
||||||
|
Playstation_Up_pressed
|
||||||
|
xy: 432, 80
|
||||||
|
size: 16, 16
|
||||||
|
Switch_B
|
||||||
|
xy: 0, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_B_pressed
|
||||||
|
xy: 16, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_A
|
||||||
|
xy: 32, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_A_pressed
|
||||||
|
xy: 48, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Y
|
||||||
|
xy: 64, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Y_pressed
|
||||||
|
xy: 80, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_X
|
||||||
|
xy: 96, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_X_pressed
|
||||||
|
xy: 112, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_L
|
||||||
|
xy: 128, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_L_pressed
|
||||||
|
xy: 144, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_R
|
||||||
|
xy: 160, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_R_pressed
|
||||||
|
xy: 176, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_L2
|
||||||
|
xy: 192, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_L2_pressed
|
||||||
|
xy: 208, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_R2
|
||||||
|
xy: 224, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_R2_pressed
|
||||||
|
xy: 240, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Select
|
||||||
|
xy: 256, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Select_pressed
|
||||||
|
xy: 272, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Start
|
||||||
|
xy: 288, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Start_pressed
|
||||||
|
xy: 304, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Left
|
||||||
|
xy: 320, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Left_pressed
|
||||||
|
xy: 336, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Right
|
||||||
|
xy: 352, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Right_pressed
|
||||||
|
xy: 368, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Down
|
||||||
|
xy: 384, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Down_pressed
|
||||||
|
xy: 400, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Up
|
||||||
|
xy: 416, 96
|
||||||
|
size: 16, 16
|
||||||
|
Switch_Up_pressed
|
||||||
|
xy: 432, 96
|
||||||
|
size: 16, 16
|
||||||
BIN
forge-gui/res/adventure/Shandalar/skin/keys.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
@@ -6,14 +6,14 @@ filter: Nearest, Nearest
|
|||||||
repeat: none
|
repeat: none
|
||||||
white-pixel
|
white-pixel
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 221, 326
|
xy: 221, 327
|
||||||
size: 1, 1
|
size: 1, 1
|
||||||
orig: 1, 1
|
orig: 1, 1
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
BKey_3_14
|
BKey_3_14
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 125, 214
|
xy: 125, 215
|
||||||
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
|
||||||
@@ -22,7 +22,7 @@ BKey_3_14
|
|||||||
index: -1
|
index: -1
|
||||||
BKey_3_9
|
BKey_3_9
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 75, 164
|
xy: 75, 165
|
||||||
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
|
||||||
@@ -31,28 +31,28 @@ BKey_3_9
|
|||||||
index: -1
|
index: -1
|
||||||
9patch17
|
9patch17
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 384
|
xy: 253, 385
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
orig: 48, 48
|
orig: 48, 48
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
9patch17_down
|
9patch17_down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 334
|
xy: 203, 335
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
orig: 48, 48
|
orig: 48, 48
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
9patch17_h
|
9patch17_h
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 58
|
xy: 1, 59
|
||||||
size: 48, 48
|
size: 48, 48
|
||||||
orig: 48, 48
|
orig: 48, 48
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
9patch4
|
9patch4
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 75, 182
|
xy: 75, 183
|
||||||
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,77 @@ BKey_3_9
|
|||||||
index: -1
|
index: -1
|
||||||
down
|
down
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 344
|
xy: 253, 345
|
||||||
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: 275, 366
|
xy: 275, 367
|
||||||
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: 303, 394
|
xy: 303, 395
|
||||||
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: 325, 416
|
xy: 325, 417
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
left_f
|
||||||
|
rotate: false
|
||||||
|
xy: 51, 115
|
||||||
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: 1, 18
|
xy: 1, 19
|
||||||
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: 23, 40
|
xy: 23, 41
|
||||||
|
size: 16, 16
|
||||||
|
orig: 16, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
|
right_f
|
||||||
|
rotate: false
|
||||||
|
xy: 203, 294
|
||||||
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: 147, 196
|
xy: 147, 197
|
||||||
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: 177, 214
|
xy: 177, 215
|
||||||
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: 225, 329
|
xy: 225, 330
|
||||||
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 +140,42 @@ cursor
|
|||||||
index: -1
|
index: -1
|
||||||
item_frame
|
item_frame
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 362
|
xy: 253, 363
|
||||||
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: 303, 412
|
xy: 303, 413
|
||||||
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: 1, 36
|
xy: 1, 37
|
||||||
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: 125, 192
|
xy: 125, 193
|
||||||
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: 69, 146
|
xy: 69, 147
|
||||||
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: 51, 150
|
xy: 51, 151
|
||||||
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 +184,7 @@ bar
|
|||||||
index: -1
|
index: -1
|
||||||
barcontent
|
barcontent
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 329
|
xy: 203, 330
|
||||||
size: 20, 3
|
size: 20, 3
|
||||||
split: 0, 0, 0, 0
|
split: 0, 0, 0, 0
|
||||||
orig: 20, 3
|
orig: 20, 3
|
||||||
@@ -178,14 +192,14 @@ barcontent
|
|||||||
index: -1
|
index: -1
|
||||||
check
|
check
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 253, 334
|
xy: 253, 335
|
||||||
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, 108
|
xy: 1, 109
|
||||||
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 +208,7 @@ map
|
|||||||
index: -1
|
index: -1
|
||||||
pressed
|
pressed
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 125, 174
|
xy: 125, 175
|
||||||
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 +217,7 @@ pressed
|
|||||||
index: -1
|
index: -1
|
||||||
pressedMap
|
pressedMap
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 51, 132
|
xy: 51, 133
|
||||||
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 +226,7 @@ pressedMap
|
|||||||
index: -1
|
index: -1
|
||||||
pressedround
|
pressedround
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 343, 417
|
xy: 51, 98
|
||||||
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 +235,7 @@ pressedround
|
|||||||
index: -1
|
index: -1
|
||||||
scroll
|
scroll
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 303, 377
|
xy: 303, 378
|
||||||
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 +244,7 @@ scroll
|
|||||||
index: -1
|
index: -1
|
||||||
scroll2
|
scroll2
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 75, 155
|
xy: 75, 156
|
||||||
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 +253,7 @@ scroll2
|
|||||||
index: -1
|
index: -1
|
||||||
thinwindow
|
thinwindow
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 311
|
xy: 203, 312
|
||||||
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 +262,14 @@ thinwindow
|
|||||||
index: -1
|
index: -1
|
||||||
uncheck
|
uncheck
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 293, 374
|
xy: 293, 375
|
||||||
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: 109, 164
|
xy: 109, 165
|
||||||
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 +278,7 @@ unpressed
|
|||||||
index: -1
|
index: -1
|
||||||
unpressed-disable
|
unpressed-disable
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 293
|
xy: 1, 1
|
||||||
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,16 +287,23 @@ unpressed-disable
|
|||||||
index: -1
|
index: -1
|
||||||
unpressed-hover
|
unpressed-hover
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 51, 114
|
xy: 343, 417
|
||||||
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
|
||||||
orig: 14, 16
|
orig: 14, 16
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
index: -1
|
index: -1
|
||||||
|
unpressedFocus
|
||||||
|
rotate: false
|
||||||
|
xy: 165, 197
|
||||||
|
size: 14, 16
|
||||||
|
orig: 14, 16
|
||||||
|
offset: 0, 0
|
||||||
|
index: -1
|
||||||
unpressedMap
|
unpressedMap
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 159, 214
|
xy: 159, 215
|
||||||
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 +312,7 @@ unpressedMap
|
|||||||
index: -1
|
index: -1
|
||||||
unpressedround
|
unpressedround
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 1
|
xy: 203, 277
|
||||||
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 +321,7 @@ unpressedround
|
|||||||
index: -1
|
index: -1
|
||||||
windowMain
|
windowMain
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 203, 384
|
xy: 203, 385
|
||||||
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,14 +330,14 @@ windowMain
|
|||||||
index: -1
|
index: -1
|
||||||
touchBackground
|
touchBackground
|
||||||
rotate: false
|
rotate: false
|
||||||
xy: 1, 232
|
xy: 1, 233
|
||||||
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, 158
|
xy: 1, 159
|
||||||
size: 72, 72
|
size: 72, 72
|
||||||
orig: 72, 72
|
orig: 72, 72
|
||||||
offset: 0, 0
|
offset: 0, 0
|
||||||
|
|||||||
@@ -325,6 +325,26 @@
|
|||||||
"regions": [],
|
"regions": [],
|
||||||
"playMode": 2,
|
"playMode": 2,
|
||||||
"crushMode": 0
|
"crushMode": 0
|
||||||
|
},
|
||||||
|
"unpressedFocus10Patch": {
|
||||||
|
"region": "unpressedFocus",
|
||||||
|
"horizontalStretchAreas": [ 3, 6, 8, 9 ],
|
||||||
|
"verticalStretchAreas": [ 6, 7, 9, 12 ],
|
||||||
|
"tiling": false,
|
||||||
|
"minWidth": 14,
|
||||||
|
"minHeight": 16,
|
||||||
|
"rightWidth": 5,
|
||||||
|
"leftWidth": 5,
|
||||||
|
"bottomHeight": 8,
|
||||||
|
"topHeight": 5,
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"offsetXspeed": 0,
|
||||||
|
"offsetYspeed": 0,
|
||||||
|
"frameDuration": 0.03,
|
||||||
|
"regions": [],
|
||||||
|
"playMode": 2,
|
||||||
|
"crushMode": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ButtonStyle": {
|
"ButtonStyle": {
|
||||||
@@ -332,6 +352,7 @@
|
|||||||
"up": "unpressed10patch",
|
"up": "unpressed10patch",
|
||||||
"down": "pressed10Patch",
|
"down": "pressed10Patch",
|
||||||
"over": "unpressed-hover10patch",
|
"over": "unpressed-hover10patch",
|
||||||
|
"focused": "unpressedFocus10Patch",
|
||||||
"disabled": "unpressed-disable10Patch"
|
"disabled": "unpressed-disable10Patch"
|
||||||
},
|
},
|
||||||
"paper": {
|
"paper": {
|
||||||
@@ -350,7 +371,9 @@
|
|||||||
"default": {
|
"default": {
|
||||||
"checkboxOn": "check",
|
"checkboxOn": "check",
|
||||||
"checkboxOff": "uncheck",
|
"checkboxOff": "uncheck",
|
||||||
"font": "default"
|
"font": "default",
|
||||||
|
"focused": "unpressedFocus10Patch",
|
||||||
|
"checkedFocused": "unpressedFocus10Patch"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ImageButtonStyle": {
|
"ImageButtonStyle": {
|
||||||
@@ -359,18 +382,22 @@
|
|||||||
"imageDown": "pressed10Patch"
|
"imageDown": "pressed10Patch"
|
||||||
},
|
},
|
||||||
"leftarrow": {
|
"leftarrow": {
|
||||||
"imageUp": "left",
|
"up": "left",
|
||||||
"imageDown": "left_down"
|
"down": "left_down",
|
||||||
|
"focused": "left_f"
|
||||||
},
|
},
|
||||||
"rightarrow": {
|
"rightarrow": {
|
||||||
"imageUp": "right",
|
"up": "right",
|
||||||
"imageDown": "right_down"
|
"down": "right_down",
|
||||||
|
"focused": "right_f"
|
||||||
},
|
},
|
||||||
"item_frame": {
|
"item_frame": {
|
||||||
"imageUp": "item_frame",
|
"imageCheckedOver": "item_frame_selected_hover",
|
||||||
"imageOver": "item_frame_hover",
|
"up": "item_frame",
|
||||||
"imageChecked": "item_frame_selected",
|
"over": "item_frame_hover",
|
||||||
"imageCheckedOver": "item_frame_selected_hover"
|
"focused": "item_frame_selected",
|
||||||
|
"checked": "item_frame_selected",
|
||||||
|
"checkedOver": "item_frame_selected_hover"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ImageTextButtonStyle": {
|
"ImageTextButtonStyle": {
|
||||||
@@ -426,12 +453,15 @@
|
|||||||
"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",
|
||||||
|
"background": "unpressed10patch",
|
||||||
"scrollStyle": "default",
|
"scrollStyle": "default",
|
||||||
"listStyle": "default"
|
"listStyle": "default",
|
||||||
|
"backgroundOver": "unpressed-hover10patch"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SliderStyle": {
|
"SliderStyle": {
|
||||||
"default-horizontal": {
|
"default-horizontal": {
|
||||||
|
"backgroundOver": "unpressed-hover10patch",
|
||||||
"background": "thinwindow10Patch",
|
"background": "thinwindow10Patch",
|
||||||
"knob": "scroll"
|
"knob": "scroll"
|
||||||
},
|
},
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
@@ -21,6 +21,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
|
"selectable": true,
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
@@ -39,6 +41,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "tr(lblBattle)",
|
"text": "tr(lblBattle)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Use",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 430,
|
"x": 430,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "Back",
|
"text": "Back",
|
||||||
|
"selectable": true,
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "tr(lblBattle)",
|
"text": "tr(lblBattle)",
|
||||||
|
"selectable": true,
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 125,
|
"x": 125,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 365,
|
"x": 365,
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "edit",
|
"name": "edit",
|
||||||
"text": "tr(lblEdit)",
|
"text": "tr(lblEdit)",
|
||||||
|
"binding": "Use",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 365,
|
"x": 365,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 4,
|
"x": 4,
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "rename",
|
"name": "rename",
|
||||||
"text": "tr(lblRename)",
|
"text": "tr(lblRename)",
|
||||||
|
"binding": "Equip",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 92,
|
"x": 92,
|
||||||
@@ -39,6 +41,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "edit",
|
"name": "edit",
|
||||||
"text": "tr(lblEdit)",
|
"text": "tr(lblEdit)",
|
||||||
|
"binding": "Use",
|
||||||
"width": 86,
|
"width": 86,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 180,
|
"x": 180,
|
||||||
|
|||||||
@@ -87,9 +87,10 @@
|
|||||||
"name": "deck",
|
"name": "deck",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Deck]",
|
"text": "{Scale=200%}[+Deck]",
|
||||||
"width": 40,
|
"binding": "Deck",
|
||||||
|
"width": 48,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 424,
|
||||||
"y": 106
|
"y": 106
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -97,9 +98,10 @@
|
|||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Item]",
|
"text": "{Scale=200%}[+Item]",
|
||||||
"width": 40,
|
"binding": "Inventory",
|
||||||
|
"width": 48,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 424,
|
||||||
"y": 146
|
"y": 146
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -108,9 +110,10 @@
|
|||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Status]",
|
"text": "{Scale=200%}[+Status]",
|
||||||
"width": 40,
|
"binding": "Status",
|
||||||
|
"width": 48,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 424,
|
||||||
"y": 186
|
"y": 186
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -118,9 +121,10 @@
|
|||||||
"name": "menu",
|
"name": "menu",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Menu]",
|
"text": "{Scale=200%}[+Menu]",
|
||||||
"width": 40,
|
"binding": "Menu",
|
||||||
|
"width": 48,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 428,
|
"x": 424,
|
||||||
"y": 226
|
"y": 226
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
"name": "deck",
|
"name": "deck",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Deck]",
|
"text": "{Scale=200%}[+Deck]",
|
||||||
|
"binding": "Deck",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -97,6 +98,7 @@
|
|||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Item]",
|
"text": "{Scale=200%}[+Item]",
|
||||||
|
"binding": "Inventory",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -108,6 +110,7 @@
|
|||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Status]",
|
"text": "{Scale=200%}[+Status]",
|
||||||
|
"binding": "Status",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
@@ -118,6 +121,7 @@
|
|||||||
"name": "menu",
|
"name": "menu",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Menu]",
|
"text": "{Scale=200%}[+Menu]",
|
||||||
|
"binding": "Menu",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 36,
|
"height": 36,
|
||||||
"x": 416,
|
"x": 416,
|
||||||
|
|||||||
@@ -86,6 +86,7 @@
|
|||||||
"name": "deck",
|
"name": "deck",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Deck]",
|
"text": "{Scale=200%}[+Deck]",
|
||||||
|
"binding": "Deck",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -96,6 +97,7 @@
|
|||||||
"name": "inventory",
|
"name": "inventory",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Item]",
|
"text": "{Scale=200%}[+Item]",
|
||||||
|
"binding": "Inventory",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -107,6 +109,7 @@
|
|||||||
"name": "statistic",
|
"name": "statistic",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Status]",
|
"text": "{Scale=200%}[+Status]",
|
||||||
|
"binding": "Status",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
@@ -117,6 +120,7 @@
|
|||||||
"name": "menu",
|
"name": "menu",
|
||||||
"style":"menu",
|
"style":"menu",
|
||||||
"text": "{Scale=200%}[+Menu]",
|
"text": "{Scale=200%}[+Menu]",
|
||||||
|
"binding": "Menu",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 206,
|
"x": 206,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "tempHitPointCost",
|
"name": "tempHitPointCost",
|
||||||
"text": "Cost",
|
"text": "Cost",
|
||||||
|
"binding": "Status",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 60,
|
"x": 60,
|
||||||
@@ -49,7 +50,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "sell",
|
"name": "sell",
|
||||||
"text": "tr(lblSell)",
|
"text": "tr(lblSell)",
|
||||||
|
"binding": "Equip",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 190,
|
"x": 190,
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 320,
|
"x": 320,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "tempHitPointCost",
|
"name": "tempHitPointCost",
|
||||||
"text": "Cost",
|
"text": "Cost",
|
||||||
|
"binding": "Status",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
@@ -49,7 +50,8 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "sell",
|
"name": "sell",
|
||||||
"text": "tr(lblSell)",
|
"text": "tr(lblSell)",
|
||||||
|
"binding": "Equip",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
|
|||||||
@@ -89,6 +89,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 400,
|
"x": 400,
|
||||||
@@ -98,6 +99,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "equip",
|
"name": "equip",
|
||||||
"text": "Equip",
|
"text": "Equip",
|
||||||
|
"binding": "Equip",
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 320,
|
"x": 320,
|
||||||
@@ -107,6 +109,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "use",
|
"name": "use",
|
||||||
"text": "Use",
|
"text": "Use",
|
||||||
|
"binding": "Use",
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 240,
|
"x": 240,
|
||||||
@@ -116,6 +119,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "delete",
|
"name": "delete",
|
||||||
"text": "Discard",
|
"text": "Discard",
|
||||||
|
"binding": "Status",
|
||||||
"width": 60,
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
|
|||||||
@@ -89,7 +89,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "delete",
|
"name": "delete",
|
||||||
"text": "Discard",
|
"text": "Discard",
|
||||||
"width": 80,
|
"binding": "Status",
|
||||||
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 8,
|
"x": 8,
|
||||||
"y": 363
|
"y": 363
|
||||||
@@ -98,27 +99,30 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "equip",
|
"name": "equip",
|
||||||
"text": "Equip",
|
"text": "Equip",
|
||||||
"width": 80,
|
"binding": "Equip",
|
||||||
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 96,
|
"x": 75,
|
||||||
"y": 363
|
"y": 363
|
||||||
} ,
|
} ,
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "use",
|
"name": "use",
|
||||||
"text": "Use",
|
"text": "Use",
|
||||||
"width": 80,
|
"binding": "Use",
|
||||||
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 10,
|
"x": 140,
|
||||||
"y": 363
|
"y": 363
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
"width": 80,
|
"binding": "Back",
|
||||||
|
"width": 60,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 184,
|
"x": 205,
|
||||||
"y": 363
|
"y": 363
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -24,12 +24,23 @@
|
|||||||
"width": 405,
|
"width": 405,
|
||||||
"height": 265
|
"height": 265
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "TextButton",
|
||||||
|
"name": "detail",
|
||||||
|
"text": "Detail",
|
||||||
|
"binding": "Equip",
|
||||||
|
"width": 48,
|
||||||
|
"height": 30,
|
||||||
|
"x": 420,
|
||||||
|
"y": 80
|
||||||
|
} ,
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblLeave)",
|
"text": "tr(lblLeave)",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
|
"binding": "Back",
|
||||||
"x": 420,
|
"x": 420,
|
||||||
"y": 120
|
"y": 120
|
||||||
} ,
|
} ,
|
||||||
|
|||||||
@@ -24,10 +24,21 @@
|
|||||||
"width": 260,
|
"width": 260,
|
||||||
"height": 405
|
"height": 405
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "TextButton",
|
||||||
|
"name": "detail",
|
||||||
|
"text": "Detail",
|
||||||
|
"binding": "Equip",
|
||||||
|
"width": 128,
|
||||||
|
"height": 32,
|
||||||
|
"x": 140,
|
||||||
|
"y": 350
|
||||||
|
} ,
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblLeave)",
|
"text": "tr(lblLeave)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 128,
|
"width": 128,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 140,
|
"x": 140,
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 48,
|
"width": 48,
|
||||||
"height": 20,
|
"height": 20,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
|
|||||||
@@ -86,6 +86,7 @@
|
|||||||
"type": "ImageButton",
|
"type": "ImageButton",
|
||||||
"name": "leftAvatar",
|
"name": "leftAvatar",
|
||||||
"style": "leftarrow",
|
"style": "leftarrow",
|
||||||
|
"selectable": true,
|
||||||
"width": 16,
|
"width": 16,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -103,6 +104,7 @@
|
|||||||
"type": "ImageButton",
|
"type": "ImageButton",
|
||||||
"name": "rightAvatar",
|
"name": "rightAvatar",
|
||||||
"style": "rightarrow",
|
"style": "rightarrow",
|
||||||
|
"selectable": true,
|
||||||
"width": 16,
|
"width": 16,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 260,
|
"x": 260,
|
||||||
@@ -111,6 +113,7 @@
|
|||||||
{
|
{
|
||||||
"type": "TextField",
|
"type": "TextField",
|
||||||
"name": "nameField",
|
"name": "nameField",
|
||||||
|
"selectable": true,
|
||||||
"align": 1,
|
"align": 1,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
@@ -120,6 +123,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "race",
|
"name": "race",
|
||||||
|
"selectable": true,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -128,6 +132,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "gender",
|
"name": "gender",
|
||||||
|
"selectable": true,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -136,6 +141,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "difficulty",
|
"name": "difficulty",
|
||||||
|
"selectable": true,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -144,6 +150,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "colorId",
|
"name": "colorId",
|
||||||
|
"selectable": true,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -152,6 +159,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "mode",
|
"name": "mode",
|
||||||
|
"selectable": true,
|
||||||
"width": 112,
|
"width": 112,
|
||||||
"height": 16,
|
"height": 16,
|
||||||
"x": 164,
|
"x": 164,
|
||||||
@@ -161,6 +169,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "back",
|
"name": "back",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 348,
|
"x": 348,
|
||||||
@@ -170,6 +180,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "tr(lblStart)",
|
"text": "tr(lblStart)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Status",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 348,
|
"x": 348,
|
||||||
|
|||||||
@@ -86,8 +86,9 @@
|
|||||||
"type": "ImageButton",
|
"type": "ImageButton",
|
||||||
"name": "leftAvatar",
|
"name": "leftAvatar",
|
||||||
"style": "leftarrow",
|
"style": "leftarrow",
|
||||||
"width": 32,
|
"selectable": true,
|
||||||
"height": 32,
|
"width": 24,
|
||||||
|
"height": 24,
|
||||||
"x": 116,
|
"x": 116,
|
||||||
"y": 114
|
"y": 114
|
||||||
},
|
},
|
||||||
@@ -103,14 +104,16 @@
|
|||||||
"type": "ImageButton",
|
"type": "ImageButton",
|
||||||
"name": "rightAvatar",
|
"name": "rightAvatar",
|
||||||
"style": "rightarrow",
|
"style": "rightarrow",
|
||||||
"width": 28,
|
"selectable": true,
|
||||||
"height": 28,
|
"width": 24,
|
||||||
|
"height": 24,
|
||||||
"x": 212,
|
"x": 212,
|
||||||
"y": 114
|
"y": 114
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextField",
|
"type": "TextField",
|
||||||
"name": "nameField",
|
"name": "nameField",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -119,6 +122,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "race",
|
"name": "race",
|
||||||
|
"selectable": true,
|
||||||
"width": 168,
|
"width": 168,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -127,6 +131,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "gender",
|
"name": "gender",
|
||||||
|
"selectable": true,
|
||||||
"width": 168,
|
"width": 168,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -135,6 +140,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "difficulty",
|
"name": "difficulty",
|
||||||
|
"selectable": true,
|
||||||
"width": 168,
|
"width": 168,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -143,6 +149,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "colorId",
|
"name": "colorId",
|
||||||
|
"selectable": true,
|
||||||
"width": 168,
|
"width": 168,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -151,6 +158,7 @@
|
|||||||
{
|
{
|
||||||
"type": "Selector",
|
"type": "Selector",
|
||||||
"name": "mode",
|
"name": "mode",
|
||||||
|
"selectable": true,
|
||||||
"width": 168,
|
"width": 168,
|
||||||
"height": 24,
|
"height": 24,
|
||||||
"x": 96,
|
"x": 96,
|
||||||
@@ -160,6 +168,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "back",
|
"name": "back",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Back",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 28,
|
"height": 28,
|
||||||
"x": 32,
|
"x": 32,
|
||||||
@@ -169,6 +179,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "start",
|
"name": "start",
|
||||||
"text": "tr(lblStart)",
|
"text": "tr(lblStart)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Status",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 28,
|
"height": 28,
|
||||||
"x": 165,
|
"x": 165,
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 368,
|
"x": 368,
|
||||||
@@ -52,7 +53,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "save",
|
"name": "save",
|
||||||
|
"binding": "Use",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 368,
|
"x": 368,
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 120,
|
"width": 120,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 10,
|
"x": 10,
|
||||||
@@ -52,7 +53,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "save",
|
"name": "save",
|
||||||
|
"binding": "Use",
|
||||||
"width": 120,
|
"width": 120,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 140,
|
"x": 140,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 52,
|
"width": 52,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 415,
|
"x": 415,
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 250,
|
"width": 250,
|
||||||
"height": 32,
|
"height": 32,
|
||||||
"x": 10,
|
"x": 10,
|
||||||
|
|||||||
@@ -61,8 +61,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"x": 400,
|
"x": 400,
|
||||||
"y": 240,
|
"y": 240,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -70,6 +72,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BBlack",
|
"name": "BBlack",
|
||||||
"text": "tr(lblBlack)",
|
"text": "tr(lblBlack)",
|
||||||
"x": 15,
|
"x": 15,
|
||||||
@@ -79,6 +82,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BBlue",
|
"name": "BBlue",
|
||||||
"text": "tr(lblBlue)",
|
"text": "tr(lblBlue)",
|
||||||
"x": 65,
|
"x": 65,
|
||||||
@@ -88,6 +92,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BGreen",
|
"name": "BGreen",
|
||||||
"text": "tr(lblGreen)",
|
"text": "tr(lblGreen)",
|
||||||
"x": 115,
|
"x": 115,
|
||||||
@@ -97,6 +102,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BRed",
|
"name": "BRed",
|
||||||
"text": "tr(lblRed)",
|
"text": "tr(lblRed)",
|
||||||
"x": 165,
|
"x": 165,
|
||||||
@@ -106,6 +112,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BWhite",
|
"name": "BWhite",
|
||||||
"text": "tr(lblWhite)",
|
"text": "tr(lblWhite)",
|
||||||
"x": 215,
|
"x": 215,
|
||||||
@@ -115,6 +122,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BColorless",
|
"name": "BColorless",
|
||||||
"text": "tr(lblColorless)",
|
"text": "tr(lblColorless)",
|
||||||
"x": 265,
|
"x": 265,
|
||||||
@@ -132,7 +140,9 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "pull",
|
"selectable": true,
|
||||||
|
"name": "pull",
|
||||||
|
"binding": "Equip",
|
||||||
"text": "tr(lblDraw)",
|
"text": "tr(lblDraw)",
|
||||||
"x": 360,
|
"x": 360,
|
||||||
"y": 180,
|
"y": 180,
|
||||||
@@ -159,6 +169,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "SelectBox",
|
"type": "SelectBox",
|
||||||
|
"selectable": true,
|
||||||
"name": "BSelectPlane",
|
"name": "BSelectPlane",
|
||||||
"text": "Select Plane",
|
"text": "Select Plane",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
@@ -177,6 +188,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B02",
|
"name": "B02",
|
||||||
"text": "0-2",
|
"text": "0-2",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
@@ -186,6 +198,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B35",
|
"name": "B35",
|
||||||
"text": "3-5",
|
"text": "3-5",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
@@ -195,6 +208,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B68",
|
"name": "B68",
|
||||||
"text": "6-8",
|
"text": "6-8",
|
||||||
"x": 170,
|
"x": 170,
|
||||||
@@ -204,6 +218,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B9X",
|
"name": "B9X",
|
||||||
"text": "9+",
|
"text": "9+",
|
||||||
"x": 250,
|
"x": 250,
|
||||||
@@ -222,6 +237,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BCommon",
|
"name": "BCommon",
|
||||||
"text": "tr(lblCommon)",
|
"text": "tr(lblCommon)",
|
||||||
"x": 10,
|
"x": 10,
|
||||||
@@ -231,6 +247,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BUncommon",
|
"name": "BUncommon",
|
||||||
"text": "tr(lblUncommon)",
|
"text": "tr(lblUncommon)",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
@@ -240,6 +257,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BRare",
|
"name": "BRare",
|
||||||
"text": "tr(lblRare)",
|
"text": "tr(lblRare)",
|
||||||
"x": 170,
|
"x": 170,
|
||||||
@@ -249,6 +267,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BMythic",
|
"name": "BMythic",
|
||||||
"text": "Mythic",
|
"text": "Mythic",
|
||||||
"x": 250,
|
"x": 250,
|
||||||
@@ -258,6 +277,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BResetEdition",
|
"name": "BResetEdition",
|
||||||
"text": "tr(lblReset)",
|
"text": "tr(lblReset)",
|
||||||
"x": 250,
|
"x": 250,
|
||||||
|
|||||||
@@ -61,8 +61,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "done",
|
"name": "done",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"x": 175,
|
"x": 175,
|
||||||
"y": 150,
|
"y": 150,
|
||||||
"width": 70,
|
"width": 70,
|
||||||
@@ -70,6 +72,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BBlack",
|
"name": "BBlack",
|
||||||
"text": "tr(lblBlack)",
|
"text": "tr(lblBlack)",
|
||||||
"x": 58,
|
"x": 58,
|
||||||
@@ -79,6 +82,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BBlue",
|
"name": "BBlue",
|
||||||
"text": "tr(lblBlue)",
|
"text": "tr(lblBlue)",
|
||||||
"x": 113,
|
"x": 113,
|
||||||
@@ -88,6 +92,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BGreen",
|
"name": "BGreen",
|
||||||
"text": "tr(lblGreen)",
|
"text": "tr(lblGreen)",
|
||||||
"x": 168,
|
"x": 168,
|
||||||
@@ -97,6 +102,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BRed",
|
"name": "BRed",
|
||||||
"text": "tr(lblRed)",
|
"text": "tr(lblRed)",
|
||||||
"x": 58,
|
"x": 58,
|
||||||
@@ -106,6 +112,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BWhite",
|
"name": "BWhite",
|
||||||
"text": "tr(lblWhite)",
|
"text": "tr(lblWhite)",
|
||||||
"x": 113,
|
"x": 113,
|
||||||
@@ -115,6 +122,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BColorless",
|
"name": "BColorless",
|
||||||
"text": "tr(lblColorless)",
|
"text": "tr(lblColorless)",
|
||||||
"x": 168,
|
"x": 168,
|
||||||
@@ -133,7 +141,9 @@
|
|||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "pull",
|
"name": "pull",
|
||||||
"text": "tr(lblDraw)",
|
"text": "tr(lblDraw)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Equip",
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 150,
|
"y": 150,
|
||||||
"width": 97,
|
"width": 97,
|
||||||
@@ -161,6 +171,7 @@
|
|||||||
"type": "SelectBox",
|
"type": "SelectBox",
|
||||||
"name": "BSelectPlane",
|
"name": "BSelectPlane",
|
||||||
"text": "Select Plane",
|
"text": "Select Plane",
|
||||||
|
"selectable": true,
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 220,
|
"y": 220,
|
||||||
"width": 190,
|
"width": 190,
|
||||||
@@ -177,6 +188,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B02",
|
"name": "B02",
|
||||||
"text": "0-2",
|
"text": "0-2",
|
||||||
"x": 20,
|
"x": 20,
|
||||||
@@ -186,6 +198,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B35",
|
"name": "B35",
|
||||||
"text": "3-5",
|
"text": "3-5",
|
||||||
"x": 80,
|
"x": 80,
|
||||||
@@ -195,6 +208,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B68",
|
"name": "B68",
|
||||||
"text": "6-8",
|
"text": "6-8",
|
||||||
"x": 140,
|
"x": 140,
|
||||||
@@ -204,6 +218,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "B9X",
|
"name": "B9X",
|
||||||
"text": "9+",
|
"text": "9+",
|
||||||
"x": 200,
|
"x": 200,
|
||||||
@@ -222,6 +237,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BCommon",
|
"name": "BCommon",
|
||||||
"text": "tr(lblCommon)",
|
"text": "tr(lblCommon)",
|
||||||
"x": 20,
|
"x": 20,
|
||||||
@@ -231,6 +247,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BUncommon",
|
"name": "BUncommon",
|
||||||
"text": "tr(lblUncommon)",
|
"text": "tr(lblUncommon)",
|
||||||
"x": 80,
|
"x": 80,
|
||||||
@@ -240,6 +257,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BRare",
|
"name": "BRare",
|
||||||
"text": "tr(lblRare)",
|
"text": "tr(lblRare)",
|
||||||
"x": 140,
|
"x": 140,
|
||||||
@@ -249,6 +267,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BMythic",
|
"name": "BMythic",
|
||||||
"text": "Mythic",
|
"text": "Mythic",
|
||||||
"x": 200,
|
"x": 200,
|
||||||
@@ -258,6 +277,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
|
"selectable": true,
|
||||||
"name": "BResetEdition",
|
"name": "BResetEdition",
|
||||||
"text": "tr(lblReset)",
|
"text": "tr(lblReset)",
|
||||||
"x": 195,
|
"x": 195,
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start",
|
"name": "Start",
|
||||||
"text": "tr(lblNewGame)",
|
"text": "tr(lblNewGame)",
|
||||||
|
"selectable": true,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -22,6 +23,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start+",
|
"name": "Start+",
|
||||||
"text": "tr(lblNewGame) +",
|
"text": "tr(lblNewGame) +",
|
||||||
|
"selectable": true,
|
||||||
"width": 80,
|
"width": 80,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 240,
|
"x": 240,
|
||||||
@@ -31,6 +33,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Load",
|
"name": "Load",
|
||||||
"text": "tr(lblLoad)",
|
"text": "tr(lblLoad)",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -40,6 +43,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Save",
|
"name": "Save",
|
||||||
"text": "tr(lblSave)",
|
"text": "tr(lblSave)",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -49,7 +53,9 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Resume",
|
"name": "Resume",
|
||||||
"text": "tr(lblResume)",
|
"text": "tr(lblResume)",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
|
"binding": "Back",
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
"y": 140
|
"y": 140
|
||||||
@@ -58,6 +64,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Continue",
|
"name": "Continue",
|
||||||
"text": "tr(lblContinue)",
|
"text": "tr(lblContinue)",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -67,6 +74,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"text": "tr(lblSettings)",
|
"text": "tr(lblSettings)",
|
||||||
|
"selectable": true,
|
||||||
"width": 160,
|
"width": 160,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -76,6 +84,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Exit",
|
"name": "Exit",
|
||||||
"text": "tr(lblExit)",
|
"text": "tr(lblExit)",
|
||||||
|
"selectable": true,
|
||||||
"width": 75,
|
"width": 75,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 160,
|
"x": 160,
|
||||||
@@ -85,6 +94,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Switch",
|
"name": "Switch",
|
||||||
"text": "tr(lblClassic)",
|
"text": "tr(lblClassic)",
|
||||||
|
"selectable": true,
|
||||||
"width": 75,
|
"width": 75,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 245,
|
"x": 245,
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start",
|
"name": "Start",
|
||||||
"text": "tr(lblNewGame)",
|
"text": "tr(lblNewGame)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -22,6 +23,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Start+",
|
"name": "Start+",
|
||||||
"text": "tr(lblNewGame) +",
|
"text": "tr(lblNewGame) +",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -31,6 +33,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Load",
|
"name": "Load",
|
||||||
"text": "tr(lblLoad)",
|
"text": "tr(lblLoad)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -40,6 +43,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Save",
|
"name": "Save",
|
||||||
"text": "tr(lblSave)",
|
"text": "tr(lblSave)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -49,6 +53,8 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Resume",
|
"name": "Resume",
|
||||||
"text": "tr(lblResume)",
|
"text": "tr(lblResume)",
|
||||||
|
"selectable": true,
|
||||||
|
"binding": "Back",
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -58,6 +64,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"text": "tr(lblSettings)",
|
"text": "tr(lblSettings)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -67,6 +74,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Switch",
|
"name": "Switch",
|
||||||
"text": "tr(lblClassic)",
|
"text": "tr(lblClassic)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -76,6 +84,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Exit",
|
"name": "Exit",
|
||||||
"text": "tr(lblExit)",
|
"text": "tr(lblExit)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
@@ -85,6 +94,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "Continue",
|
"name": "Continue",
|
||||||
"text": "tr(lblContinue)",
|
"text": "tr(lblContinue)",
|
||||||
|
"selectable": true,
|
||||||
"width": 238,
|
"width": 238,
|
||||||
"height": 48,
|
"height": 48,
|
||||||
"x": 16,
|
"x": 16,
|
||||||
|
|||||||
@@ -113,6 +113,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 100,
|
"width": 100,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 335,
|
"x": 335,
|
||||||
|
|||||||
@@ -104,6 +104,7 @@
|
|||||||
"type": "TextButton",
|
"type": "TextButton",
|
||||||
"name": "return",
|
"name": "return",
|
||||||
"text": "tr(lblBack)",
|
"text": "tr(lblBack)",
|
||||||
|
"binding": "Back",
|
||||||
"width": 260,
|
"width": 260,
|
||||||
"height": 30,
|
"height": 30,
|
||||||
"x": 5,
|
"x": 5,
|
||||||
|
|||||||