summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine/Map.java
blob: 75aedd9bd81bd49aba1d33103d6beccdcbbccc8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package ch.asynk.tankontank.engine;

import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.math.GridPoint2;

public interface Map
{
    // libgdx

    public float getWidth();
    public float getHeight();

    // game

    public GridPoint2 getHexAt(GridPoint2 hex, float x, float y);

    public Pawn getTopPawnAt(GridPoint2 hex);

    public Vector2 getHexCenterAt(GridPoint2 hex);

    public Vector2 getPawnPosAt(Pawn pawn, GridPoint2 hex);

    public void movePawnTo(Pawn pawn, Vector3 coords);

    public void setPawnAt(Pawn pawn, int col, int row, Tile.Orientation o);

    public void movePawnTo(Pawn pawn, int col, int row, Tile.Orientation o);

    public class Config
    {
        public int cols;
        public int rows;
        public int x0;          // bottom left x offset
        public int y0;          // bottom left y offset
        public int w;           // hex width
        public int dw;          // half hex : w/2
        public int h;           // hex side
        public float dh;        // hex top : h/2
        public float H;         // square height : h + dh
        public float slope;     // north-west side slope : (dh / (float) dw)
    }
}