using System;
using System.Collections.Generic;
using System.Linq;
using HexCore;
using ImTools;
namespace ConsoleApp.Maps
{
public class HexMap : IHexMap
{
public int Width { get; }
public int Height { get; }
public Graph Graph { get; }
public OffsetTypes OffsetType { get; }
public MovementType DefaultMovement { get; }
public TerrainType ClearedTerrain { get; }
public TerrainType UnclearedTerrain { get; }
///
/// Generate Hex map with cells of 25cm X 25cm
///
///
///
public HexMap(int x, int y)
{
//Set Offset Type for 2d -> 3d conversion
OffsetType = OffsetTypes.OddRowsRight;
Height = y;
Width = x;
UnclearedTerrain = new TerrainType(1, "uncleared");
ClearedTerrain = new TerrainType(2, "cleared");
DefaultMovement = new MovementType(1, "default");
var movementTypes = new MovementTypes(
new ITerrainType[] { UnclearedTerrain, ClearedTerrain },
new Dictionary>
{
[DefaultMovement] = new Dictionary
{
[UnclearedTerrain] = 1,
[ClearedTerrain] = 2
}
}
);
Graph = GraphFactory.CreateRectangularGraph(Width, Height, movementTypes, UnclearedTerrain);
}
}
}