How can I create an array of hexagon tile types, while building hexagon grid?
I'm new to unity and the entire C# script language, so I've looked up some tutorials on hexagon grids and pathfinding, and found this one: https://www.youtube.com/watch?v=2xXLhbQnHV4&t=729s, whcih is however working with square tiles. At 12:10 in the video, you can see that he creates an array of Tile Types, creating another script with the same name, in which he creates variables that present characteristics of different tile types. I tried to use the same thing for hexes, but I got an error.
using UnityEngine;
using System.Collections;
public class Map : MonoBehaviour
{
public GameObject hexPrefab;
public HexType[] tileTypes;
float[,,] hexes;
//Size of map with hexes
float width = 10;
float height = 10;
float xOffset = 1.744f;
float zOffset = 1.522f;
// Use this for initialization
void Start()
{
hexes = new float[width, height, 0];
for (float x = 0; x < width; x++)
{
for (float y = 0; y < height; y++)
{
float xPos = x * xOffset;
// Odd row
if (y % 2 == 1)
{
xPos += xOffset / 2f;
}
hexes[xPos, y * zOffset, 0];
}
}
}
// Update is called once per frame
void Update()
{
}
}
But when I try to allocate the hexTiles like in the video with this code: hexes = new float[width, height, 0];, an error pops up saying: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exist(are you missing a cast?).
I'm not sure what that means. If there is any way to fix this, plese tell me how. And If not, what would be another way of doing something similar like what is shown in the video?
Your answer
Follow this Question
Related Questions
Grid-based 2D game (turn based): How should I get started? 1 Answer
What is the easiest way to enable 2D isometric grid-based pathfinding? 2 Answers
How to store field of hexagons 1 Answer
Help needed, setting pathfinding target coords for instances of a GameObject with a single script. 0 Answers
Hexagon grid check for specific tile 0 Answers