diff options
Diffstat (limited to 'core/src/ch/asynk/tankontank/screens')
| -rw-r--r-- | core/src/ch/asynk/tankontank/screens/GameScreen.java | 49 | 
1 files changed, 27 insertions, 22 deletions
diff --git a/core/src/ch/asynk/tankontank/screens/GameScreen.java b/core/src/ch/asynk/tankontank/screens/GameScreen.java index 4c0b4ef..0c4ebff 100644 --- a/core/src/ch/asynk/tankontank/screens/GameScreen.java +++ b/core/src/ch/asynk/tankontank/screens/GameScreen.java @@ -27,6 +27,7 @@ import com.badlogic.gdx.utils.viewport.ScreenViewport;  import ch.asynk.tankontank.TankOnTank;  import ch.asynk.tankontank.game.Pawn;  import ch.asynk.tankontank.game.HexMap; +import ch.asynk.tankontank.game.HexOrientation;  import ch.asynk.tankontank.game.HexMapImage;  import ch.asynk.tankontank.game.HexMapFactory;  import ch.asynk.tankontank.game.Unit; @@ -76,23 +77,26 @@ public class GameScreen extends AbstractScreen          gameStage.addActor((HexMapImage) map);          gameStage.addActor(selectedHex); -        UnitFactory.init(game.manager, map); -        addUnit(gameStage, UnitType.GE_AT_GUN, 1, 4, 0); -        addUnit(gameStage, UnitType.GE_INFANTRY, 2, 4, 0); -        addUnit(gameStage, UnitType.GE_KINGTIGER, 3, 4, 0); -        addUnit(gameStage, UnitType.GE_PANZER_IV, 4, 4, 0); -        addUnit(gameStage, UnitType.GE_PANZER_IV_HQ, 5, 4, 0); -        addUnit(gameStage, UnitType.GE_TIGER, 6, 4, 0); -        addUnit(gameStage, UnitType.GE_WESPE, 7, 4, 0); - -        addUnit(gameStage, UnitType.US_AT_GUN, 1, 3, 0); -        addUnit(gameStage, UnitType.US_INFANTRY, 2, 3, 0); -        addUnit(gameStage, UnitType.US_PERSHING, 3, 3, 0); -        addUnit(gameStage, UnitType.US_PERSHING_HQ, 4, 3, 0); -        addUnit(gameStage, UnitType.US_PRIEST, 5, 3, 0); -        addUnit(gameStage, UnitType.US_SHERMAN, 6, 3, 0); -        addUnit(gameStage, UnitType.US_SHERMAN_HQ, 7, 3, 0); -        addUnit(gameStage, UnitType.US_WOLVERINE, 8, 3, 0); +        UnitFactory.init(game.manager); + +        HexOrientation o = HexOrientation.SOUTH_EAST; +        addUnit(gameStage, UnitType.GE_AT_GUN, 1, 4, o); +        addUnit(gameStage, UnitType.GE_INFANTRY, 2, 4, o); +        addUnit(gameStage, UnitType.GE_KINGTIGER, 3, 4, o); +        addUnit(gameStage, UnitType.GE_PANZER_IV, 4, 4, o); +        addUnit(gameStage, UnitType.GE_PANZER_IV_HQ, 5, 4, o); +        addUnit(gameStage, UnitType.GE_TIGER, 6, 4, o); +        addUnit(gameStage, UnitType.GE_WESPE, 7, 4, o); + +        o = HexOrientation.NORTH_WEST; +        addUnit(gameStage, UnitType.US_AT_GUN, 1, 3, o); +        addUnit(gameStage, UnitType.US_INFANTRY, 2, 3, o); +        addUnit(gameStage, UnitType.US_PERSHING, 3, 3, o); +        addUnit(gameStage, UnitType.US_PERSHING_HQ, 4, 3, o); +        addUnit(gameStage, UnitType.US_PRIEST, 5, 3, o); +        addUnit(gameStage, UnitType.US_SHERMAN, 6, 3, o); +        addUnit(gameStage, UnitType.US_SHERMAN_HQ, 7, 3, o); +        addUnit(gameStage, UnitType.US_WOLVERINE, 8, 3, o);          hud = new Stage(new ScreenViewport());          hud.addActor(fps); @@ -100,10 +104,10 @@ public class GameScreen extends AbstractScreen          Gdx.input.setInputProcessor(getMultiplexer());      } -    private void addUnit(Stage stage, UnitType t, int col, int row, int angle) +    private void addUnit(Stage stage, UnitType t, int col, int row, HexOrientation o)      {          Unit u = UnitFactory.getUnit(t); -        u.moveTo(col, row, angle); +        map.movePawnTo((Pawn) u, col, row, o);          stage.addActor(u);      } @@ -150,7 +154,9 @@ public class GameScreen extends AbstractScreen                      cam.unproject(touchPos.set(x, y, 0));                      map.getHexAt(cell, touchPos.x, touchPos.y);                      draggedPawn = map.getTopPawnAt(cell); -                    if (draggedPawn != null) draggedPawn.setZIndex(DRAGGED_Z_INDEX); +                    if (draggedPawn != null) { +                        draggedPawn.setZIndex(DRAGGED_Z_INDEX); +                    }                      Vector2 v = map.getHexCenterAt(cell);                      selectedHex.setCenterPosition(v.x, v.y);                      selectedHex.setVisible(true); @@ -163,8 +169,7 @@ public class GameScreen extends AbstractScreen                  if (button == Input.Buttons.LEFT) {                      cam.unproject(touchPos.set(x, y, 0));                      if (draggedPawn != null) { -                        map.getHexAt(cell, touchPos.x, touchPos.y); -                        draggedPawn.moveTo(cell); +                        map.movePawnTo(draggedPawn, touchPos);                      }                      selectedHex.setVisible(false);                  }  | 
