/// <summary> /// Obtain hex cell that at position /// </summary> /// <param name="position">Hex cell position</param> /// <returns>the hex cell at specified position</returns> public HexCell GetCell(Vector3 position) { position = transform.InverseTransformPoint(position); HexCoordinates coordinates = HexCoordinates.FromPosition(position); int index = coordinates.X + coordinates.Z * cellCountX + coordinates.Z / 2; return(cells[index]); }
void TouchCell(Vector3 position) { position = _grid.transform.InverseTransformPoint(position); HexCoordinates coordinates = HexCoordinates.FromPosition(position); int index = coordinates.X + coordinates.Z * _grid.Width + coordinates.Z / 2; HexCell cell = _grid.Cells[index]; cell.Color = _grid.TouchedColor; _grid.Mesh.Triangulate(_grid.Cells); }
public void ColorCell(Vector3 position, Color color) { position = transform.InverseTransformPoint(position); HexCoordinates coordinates = HexCoordinates.FromPosition(position); int index = coordinates.X + coordinates.Z * width + coordinates.Z / 2; HexCell cell = cells[index]; cell.color = color; hexMesh.Triangulate(cells); }