summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine/Map.java
blob: 7364c9d2f2d46dee373000e0103aaf62738c73d5 (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
package ch.asynk.tankontank.engine;

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

import ch.asynk.tankontank.engine.gfx.Node;

public interface Map extends Node
{
    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, Pawn.Orientation o);

    public void movePawnTo(Pawn pawn, int col, int row, Pawn.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 s;           // hex side
        public float dh;        // hex top : s/2
        public float h;         // square height : s + dh
        public float slope;     // north-west side slope : (dh / (float) dw)
    }
}