Commit d662859a authored by Matyáš Latner's avatar Matyáš Latner

#7 Preloader dialogs for all games

parent 09fcdd38
......@@ -35,18 +35,26 @@ victoryscreen_new_trophy=Získáváš trofej!
game_robbery_title=Lupiči
game_robbery_description=Procvičování pracovní paměti
game_robbery_preloader=Na začátku hry si přečti pravidlo, podle kterého poznáš lupiče. Zapamatuj si\u00A0ho.\nSleduj lidi vcházející do banky a\u00A0dotykem označ lupiče.
game_kidnapping_title=Únos
game_kidnapping_description=Procvičování sluchové paměti
game_kidnapping_preloader1=Poslechni a\u00A0zapamatuj si zvuk, který jsi slyšel na křižovatce.
game_kidnapping_preloader2=Pak si poslechni zvuky okolních ulic a\u00A0urči, kterou jste projeli.
game_kidnapping_preloader3=Se sluchátky zvuky lépe uslyšíš.
game_pursuit_title=Pronásledování
game_pursuit_description=Procvičování prostorové orientace
game_pursuit_preloader=Sestav mapu přemisťováním a\u00A0otáčením jednotlivých dílků.
game_night_watch_title=Hlídka
game_night_watch_description=Procvičování zrakové paměti
game_night_watch_preloader=Dávej pozor, která okna se po setmění rozsvítí a\u00A0v\u00A0kolik hodin.\nPo rozednění nastav na hodinách čas a\u00A0označ okna, která byla rozsvícená.
game_shooting_range_title=Střelnice
game_shooting_range_description=Procvičování pozornosti
game_shooting_range_preloader1=Pozorně sleduj kytku v\u00A0pravém horním rohu. Na střelnici trefuj kytky stejného tvaru a\u00A0barvy.
game_shooting_range_preloader2=Kliknutí na bednu s\u00A0hvězdičkou ti strefování kytek ulehčí, kliknutí na bednu s\u00A0lebkou naopak ztíží.
game_in_the_darkness_title=Potmě
game_in_the_darkness_description=Procvičování seriality
game_in_the_darkness_preloader1=Naplánuj krok za krokem průchod labyrintem.
game_in_the_darkness_preloader2=Přetahuj správné úkony do pásu vpravo a dávej pozor na všechny překážky. Teprve až budeš mít naplánovanou celou trasu, stiskni tlačítko HOTOVO.
game_in_the_darkness_preloader2=Přetahuj správné úkony do pásu vpravo a\u00A0dávej pozor na všechny překážky. Teprve až budeš mít naplánovanou celou trasu, stiskni tlačítko HOTOVO.
# <!-- Robbery -->
robbery_1_finished=Pouta standard
......
......@@ -35,18 +35,26 @@ victoryscreen_new_trophy=**victoryscreen_new_trophy**
game_robbery_title=Einbrecher
game_robbery_description=Training des Arbeitsgedächtnisses
game_robbery_preloader=Lies dir zu Beginn des Spiels durch, wie du den\u00A0Einbrecher erkennst. Merke ihn dir.\nBeobachte die\u00A0Leute, die\u00A0den\u00A0Raum betreten, und\u00A0markiere mit einer Berührung den\u00A0Einbrecher.
game_kidnapping_title=Entführung
game_kidnapping_description=Training des Hörgedächtnisses
game_kidnapping_preloader1=Hör zu und merke dir das\u00A0Geräusch, das du auf der\u00A0Kreuzung gehört hast.
game_kidnapping_preloader2=Dann hör dir die Geräusche der\u00A0umliegenden Straßen an und\u00A0bestimme, durch welche Straße sie gefahren sind-
game_kidnapping_preloader3=Mit Kopfhörern hörst du die\u00A0Geräusche besser.
game_pursuit_title=Verfolgung
game_pursuit_description=Training der räumlichen Orientierung
game_pursuit_preloader=Stelle die\u00A0Karte zusammen, indem du einzelne Teile verschiebst und\u00A0drehst.
game_night_watch_title=Wache
game_night_watch_description=Training des Sehgedächtnisses
game_night_watch_preloader=Pass auf, welche Fenster nach Einbruch der\u00A0Dunkelheit leuchten und\u00A0um wieviel Uhr.\nStelle nach Tagesanbruch in der\u00A0Uhr die\u00A0Zeit ein und\u00A0markiere die\u00A0Fenster, die\u00A0geleuchtet haben.
game_shooting_range_title=Schießstand
game_shooting_range_description=Aufmerksamkeitstraining
game_shooting_range_preloader1=Verfolge aufmerksam die\u00A0Blume im oberen rechten Eck. Versuch, auf dem\u00A0Schießstand Blumen von gleicher Form und\u00A0Farbe zu treffen.
game_shooting_range_preloader2=Mit einem Klick auf die\u00A0Kiste mit Stern lassen sich die\u00A0Blumen leichter treffen, mit einem Klick auf die\u00A0Kiste mit Schädel schwieriger.
game_in_the_darkness_title=Im Dunkeln
game_in_the_darkness_description=Training der Serialität
game_in_the_darkness_preloader1=Plane Schritt für Schritt den Weg durch das Labyrinth.
game_in_the_darkness_preloader2=Ziehe die richtigen Handlungen in das Band auf der rechten Seite und pass auf alle Hindernisse auf. Sobald du die ganze Route geplant hast, drücke den Knopf FERTIG.
game_in_the_darkness_preloader1=Plane Schritt für Schritt den\u00A0Weg durch das\u00A0Labyrinth.
game_in_the_darkness_preloader2=Ziehe die\u00A0richtigen Handlungen in das\u00A0Band auf der\u00A0rechten Seite und\u00A0pass auf alle Hindernisse auf. Sobald du die\u00A0ganze Route geplant hast, drücke den\u00A0Knopf FERTIG.
# <!-- Robbery -->
robbery_1_finished=Handschellen Standard
......
......@@ -35,18 +35,26 @@ victoryscreen_new_trophy=Získavaš trofej!
game_robbery_title=Lupiči
game_robbery_description=Precvičovanie pracovnej pamäti
game_robbery_preloader=Na začiatku hry si prečítaj pravidlo, podľa ktorého spoznáš zlodeja. Zapamätaj si\u00A0ho. Sleduj ľudí vchádzajúcich do banky a\u00A0dotykom označ zlodejov.
game_kidnapping_title=Únos
game_kidnapping_description=Precvičovanie sluchovej pamäti
game_kidnapping_preloader1=Vypočuj a\u00A0zapamätaj si zvuk, ktorý si počul na križovatke.
game_kidnapping_preloader2=Potom si vypočuj zvuky okolitých ulic a\u00A0urči, ktorú ste prešli.
game_kidnapping_preloader3=So slúchatkami budeš zvuky počuť lepšie.
game_pursuit_title=Prenasledovanie
game_pursuit_description=Precvičovanie priestorovej orientácie
game_pursuit_preloader=Zostav mapu premiestňovania a\u00A0otáčania jednotlivých dielcov.
game_night_watch_title=Hliadka
game_night_watch_description=Precvičovanie zrakovej pamäti
game_night_watch_preloader=Dávaj pozor, ktoré okná sa po zotmení rozsvietia a\u00A0o\u00A0ktorej.\nPo svitaní nastav na hodinách čas a\u00A0označ okná, ktoré boli rozsvietené.
game_shooting_range_title=Strelnica
game_shooting_range_description=Precvičovanie pozornosti
game_shooting_range_preloader1=Pozorne sleduj kvet v\u00A0pravom hornom rohu. Na strelnici triafaj kvety rovnakého tvaru a\u00A0farby.
game_shooting_range_preloader2=Kliknutie na bedňu s\u00A0hviezdičkou ti triafanie kvetov uľahčí, kliknutie na bedňu s\u00A0lebkou naopak sťaží.
game_in_the_darkness_title=Potme
game_in_the_darkness_description=Precvičovanie seriality
game_in_the_darkness_preloader1=Naplánuj krok za krokom prechod labyrintom.
game_in_the_darkness_preloader2=Preťahuj správne úkony do pásu vpravo a dávaj pozor na všetky prekážky. Až keď budeš mať naplánovanú celú trasu, stlač tlačítko HOTOVO.
game_in_the_darkness_preloader2=Preťahuj správne úkony do pásu vpravo a\u00A0dávaj pozor na všetky prekážky. Až keď budeš mať naplánovanú celú trasu, stlač tlačítko HOTOVO.
# <!-- Robbery -->
robbery_1_finished=Púta štandard
......
......@@ -53,7 +53,7 @@ public abstract class TablexiaApplication implements ApplicationListener {
private static final Color BACKGROUND_COLOR = new Color(0f, 0f, 0f, 1f);
private static final int DIMMER_TRANSACTION_SPEED = 1;
private static final float PRELOADER_SIZE_RATIO = 1f / 2;
private static final float PRELOADER_SIZE_RATIO = 2f / 3;
private PreloaderAssetsManager preloaderAssetsManager;
private ScreenTransaction currentScreenTransaction;
......@@ -291,10 +291,10 @@ public abstract class TablexiaApplication implements ApplicationListener {
}
@Override
protected void prepareContent() {
protected final void prepareContent() {
super.prepareContent();
Label.LabelStyle titleLableStyle = new Label.LabelStyle(ApplicationFontManager.getInstance().getFont(PRELOADER_TITLE_FONT), PRELOADER_TITLE_COLOR);
Label titleLabel = new Label(ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.PRELOADER_TITLE), titleLableStyle);
Label.LabelStyle titleLabelStyle = new Label.LabelStyle(ApplicationFontManager.getInstance().getFont(PRELOADER_TITLE_FONT), PRELOADER_TITLE_COLOR);
Label titleLabel = new Label(ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.PRELOADER_TITLE), titleLabelStyle);
getContentTable().add(titleLabel).pad(getHeight() * PRELOADER_TITLE_PADDING);
getContentTable().row();
getContentTable().add(screen.preparePreloaderContent(getWidth() * PRELOADER_CONTENT_SIZE_RATIO, getHeight() * PRELOADER_CONTENT_SIZE_RATIO, preloaderAssetsManager)).expandY().fillY().pad(getWidth() * PRELOADER_CONTENT_PADDING);
......
......@@ -35,7 +35,6 @@ import cz.nic.tablexia.game.games.in_the_darkness.map.mapobject.MapObject;
import cz.nic.tablexia.game.games.in_the_darkness.map.mapobject.MapObjectType;
import cz.nic.tablexia.game.games.in_the_darkness.map.tile.Tile;
import cz.nic.tablexia.game.games.in_the_darkness.map.widget.MapWidget;
import cz.nic.tablexia.loader.application.ApplicationFontManager;
import cz.nic.tablexia.loader.application.ApplicationTextManager;
import cz.nic.tablexia.model.game.Game;
import cz.nic.tablexia.util.Log;
......@@ -134,17 +133,6 @@ public class InTheDarknessGame extends AbstractTablexiaGame<List<MapWidget>> imp
}
}
private static final ApplicationFontManager.FontType PRELOADER_TEXT_FONT = ApplicationFontManager.FontType.ROBOTO_REGULAR_20;
private static final Color PRELOADER_TEXT_COLOR = Color.BLACK;
private static final String PRELOADER_INFO_IMAGE = "preloader_info";
private static final String PRELOADER_ANIM_IMAGE = "preloader_anim";
private static final int PRELOADER_ANIM_FRAMES = 15;
private static final float PRELOADER_ANIM_FRAME_DURATION = 0.5f;
private static final String PRELOADER_TEXT1_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_PRELOADER_TEXT1;
private static final String PRELOADER_TEXT2_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_PRELOADER_TEXT2;
private static final float PRELOADER_TEXT_PADDING_RATIO = 1f / 40;
private static final float PRELOADER_IMAGE_WIDTH_RATIO = 1f / 3;
private static final String SCORE_KEY_PLANNING_DURATION = "planning_duration";
public static final String SCORE_KEY_ERRORS_COUNT = "errors_count";
......@@ -381,6 +369,16 @@ public class InTheDarknessGame extends AbstractTablexiaGame<List<MapWidget>> imp
}
}
//////////////////////////////////////////// PRELOADER
private static final String PRELOADER_INFO_IMAGE = "preloader_info";
private static final String PRELOADER_ANIM_IMAGE = "preloader_anim";
private static final int PRELOADER_ANIM_FRAMES = 15;
private static final float PRELOADER_ANIM_FRAME_DURATION = 0.5f;
private static final String PRELOADER_TEXT1_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_PRELOADER_TEXT1;
private static final String PRELOADER_TEXT2_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_PRELOADER_TEXT2;
@Override
public Actor preparePreloaderContent(float width, float height, TablexiaApplication.PreloaderAssetsManager preloaderAssetsManager) {
float textPadding = width * PRELOADER_TEXT_PADDING_RATIO;
......
package cz.nic.tablexia.game.games.kidnapping;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.EventListener;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.google.common.collect.ObjectArrays;
import java.util.Arrays;
import java.util.List;
import cz.nic.tablexia.TablexiaApplication;
import cz.nic.tablexia.game.AbstractTablexiaGame;
import cz.nic.tablexia.game.common.media.AssetDescription;
import cz.nic.tablexia.game.common.media.GfxLibrary;
......@@ -33,7 +38,10 @@ import cz.nic.tablexia.game.games.kidnapping.model.Direction;
import cz.nic.tablexia.game.games.kidnapping.model.GameState;
import cz.nic.tablexia.game.games.kidnapping.model.Position;
import cz.nic.tablexia.game.games.kidnapping.util.DirectionsHelper;
import cz.nic.tablexia.loader.application.ApplicationTextManager;
import cz.nic.tablexia.model.game.Game;
import cz.nic.tablexia.util.ScaleUtil;
import cz.nic.tablexia.util.ui.AnimatedImage;
/**
* Created by lhoracek on 6.3.15.
......@@ -175,4 +183,68 @@ public class KidnappingGame extends AbstractTablexiaGame<GameState> {
protected String getSoundNameForGameResult(GameResult gameResult) {
return Properties.RESULT_SOUNDS[gameResult.getStarCount()];
}
//////////////////////////////////////////// PRELOADER
private static final float PRELOADER_IMAGE2_WIDTH_RATIO = 2f / 3;
private static final String PRELOADER_INFO_IMAGE = "preloader_info";
private static final String PRELOADER_ANIM1_IMAGE = "preloader_anim1";
private static final int PRELOADER_ANIM1_FRAMES = 5;
private static final String PRELOADER_ANIM2_IMAGE = "preloader_anim2";
private static final int PRELOADER_ANIM2_FRAMES = 6;
private static final float PRELOADER_ANIM1_FRAME_DURATION = 0.7f;
private static final float PRELOADER_ANIM2_FRAME_DURATION = 0.7f;
private static final String PRELOADER_TEXT1_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_KIDNAPPING_PRELOADER_TEXT1;
private static final String PRELOADER_TEXT2_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_KIDNAPPING_PRELOADER_TEXT2;
private static final String PRELOADER_TEXT3_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_KIDNAPPING_PRELOADER_TEXT3;
@Override
public Actor preparePreloaderContent(float width, float height, TablexiaApplication.PreloaderAssetsManager preloaderAssetsManager) {
float textPadding = width * PRELOADER_TEXT_PADDING_RATIO;
float imageWidth = width * PRELOADER_IMAGE_WIDTH_RATIO;
float textWidth = width - imageWidth;
Table content = new Table();
Table preloaderContent1 = new Table();
content.add(preloaderContent1).expandX().fillX();
content.row();
Table preloaderContent2 = new Table();
content.add(preloaderContent2).expandX().fillX();
content.row();
Table preloaderContent3 = new Table();
content.add(preloaderContent3).expandX().fillX();
// HELP ANIMATION 1
AnimatedImage preloaderAnimImage1 = new AnimatedImage(preloaderAssetsManager.getAnimation(PRELOADER_ANIM1_IMAGE, PRELOADER_ANIM1_FRAMES, PRELOADER_ANIM1_FRAME_DURATION), false);
preloaderAnimImage1.startAnimationLoop();
ScaleUtil.setImageDrawableMinSizeForWidth(preloaderAnimImage1, imageWidth);
preloaderContent1.add(preloaderAnimImage1);
// HELP TEXT 1
Label.LabelStyle textLabelStyle = new Label.LabelStyle(preloaderAssetsManager.getFont(PRELOADER_TEXT_FONT), PRELOADER_TEXT_COLOR);
Label preloaderText1 = new Label(preloaderAssetsManager.getText(PRELOADER_TEXT1_KEY), textLabelStyle);
preloaderText1.setWrap(true);
preloaderContent1.add(preloaderText1).width(textWidth).pad(textPadding);
// HELP TEXT 2
Label preloaderText2 = new Label(preloaderAssetsManager.getText(PRELOADER_TEXT2_KEY), textLabelStyle);
preloaderText2.setWrap(true);
preloaderContent2.add(preloaderText2).width(textWidth).pad(textPadding);
// HELP ANIMATION 2
AnimatedImage preloaderAnimImage2 = new AnimatedImage(preloaderAssetsManager.getAnimation(PRELOADER_ANIM2_IMAGE, PRELOADER_ANIM2_FRAMES, PRELOADER_ANIM2_FRAME_DURATION), false);
preloaderAnimImage2.startAnimationLoop();
ScaleUtil.setImageDrawableMinSizeForWidth(preloaderAnimImage2, imageWidth);
preloaderContent2.add(preloaderAnimImage2);
// HELP IMAGE
Image preloaderInfoImage = new Image(preloaderAssetsManager.getTextureRegion(PRELOADER_INFO_IMAGE));
ScaleUtil.setImageDrawableMinSizeForWidth(preloaderInfoImage, imageWidth * PRELOADER_IMAGE2_WIDTH_RATIO);
preloaderContent3.add(preloaderInfoImage);
// HELP TEXT 2
Label preloaderText3 = new Label(preloaderAssetsManager.getText(PRELOADER_TEXT3_KEY), textLabelStyle);
preloaderText3.setWrap(true);
preloaderContent3.add(preloaderText3).width(width - imageWidth * PRELOADER_IMAGE2_WIDTH_RATIO).pad(textPadding);
return content;
}
}
\ No newline at end of file
......@@ -3,12 +3,15 @@ package cz.nic.tablexia.game.games.night_watch;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Action;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.Touchable;
import com.badlogic.gdx.scenes.scene2d.actions.Actions;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Stack;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import net.dermetfan.utils.Pair;
......@@ -20,6 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import cz.nic.tablexia.TablexiaApplication;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.game.AbstractTablexiaGame;
import cz.nic.tablexia.game.GameDefinition;
......@@ -29,9 +33,12 @@ import cz.nic.tablexia.game.games.night_watch.helper.TextureHelper;
import cz.nic.tablexia.game.games.night_watch.solution.GameSolutionGenerator;
import cz.nic.tablexia.game.games.night_watch.solution.Solution;
import cz.nic.tablexia.game.games.night_watch.subscene.Watch;
import cz.nic.tablexia.loader.application.ApplicationTextManager;
import cz.nic.tablexia.model.game.Game;
import cz.nic.tablexia.util.Log;
import cz.nic.tablexia.util.ScaleUtil;
import cz.nic.tablexia.util.Utility;
import cz.nic.tablexia.util.ui.AnimatedImage;
import cz.nic.tablexia.util.ui.TablexiaButton;
/**
......@@ -414,4 +421,36 @@ public class NightWatchGame extends AbstractTablexiaGame<int[][]> {
protected String getSoundNameForGameResult(GameResult gameResult) {
return ResultMapping.getResultTextMappingForGameResult(gameResult).getSoundName();
}
//////////////////////////////////////////// PRELOADER
private static final String PRELOADER_ANIM_IMAGE = "preloader_anim";
private static final int PRELOADER_ANIM_FRAMES = 19;
private static final float PRELOADER_ANIM_FRAME_DURATION = 0.5f;
private static final String PRELOADER_TEXT_KEY = ApplicationTextManager.ApplicationTextsAssets.GAME_NIGHT_WATCH_PRELOADER_TEXT;
@Override
public Actor preparePreloaderContent(float width, float height, TablexiaApplication.PreloaderAssetsManager preloaderAssetsManager) {
float textPadding = width * PRELOADER_TEXT_PADDING_RATIO;
float imageWidth = width * PRELOADER_IMAGE_WIDTH_RATIO;
float textWidth = width - imageWidth;
Table content = new Table();
Table preloaderContent = new Table();
content.add(preloaderContent).expandX().fillX();
Label.LabelStyle textLabelStyle = new Label.LabelStyle(preloaderAssetsManager.getFont(PRELOADER_TEXT_FONT), PRELOADER_TEXT_COLOR);
// HELP ANIMATION
AnimatedImage preloaderAnimImage = new AnimatedImage(preloaderAssetsManager.getAnimation(PRELOADER_ANIM_IMAGE, PRELOADER_ANIM_FRAMES, PRELOADER_ANIM_FRAME_DURATION), false);
preloaderAnimImage.startAnimationLoop();
ScaleUtil.setImageDrawableMinSizeForWidth(preloaderAnimImage, imageWidth);
preloaderContent.add(preloaderAnimImage);
// HELP TEXT
Label preloaderText2 = new Label(preloaderAssetsManager.getText(PRELOADER_TEXT_KEY), textLabelStyle);
preloaderText2.setWrap(true);
preloaderContent.add(preloaderText2).width(textWidth).pad(textPadding);
return content;
}
}
......@@ -6,12 +6,15 @@ import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.EventListener;
import com.badlogic.gdx.scenes.scene2d.Group;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.utils.Array;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import cz.nic.tablexia.TablexiaApplication;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.game.AbstractTablexiaGame;
import cz.nic.tablexia.game.GameDefinition;
......@@ -23,14 +26,17 @@ import cz.nic.tablexia.game.games.pursuit.helper.GameRulesHelper;
import cz.nic.tablexia.game.games.pursuit.helper.TextureHelper;
import cz.nic.tablexia.game.games.pursuit.listener.VehicleDragListener;
import cz.nic.tablexia.game.games.pursuit.model.Grid;
import cz.nic.tablexia.loader.application.ApplicationTextManager;
import cz.nic.tablexia.util.Log;
import cz.nic.tablexia.util.Point;
import cz.nic.tablexia.game.games.pursuit.model.PuzzlePiece;
import cz.nic.tablexia.game.games.pursuit.model.Vehicle;
import cz.nic.tablexia.game.games.pursuit.model.VehicleType;
import cz.nic.tablexia.model.game.Game;
import cz.nic.tablexia.util.ScaleUtil;
import cz.nic.tablexia.util.Utility;
import cz.nic.tablexia.util.listener.DragAndRotateActorListener;