/// <summary> /// Generate a Mesh for a given HexCell /// </summary> /// <param name="cell">The Cell</param> /// <param name="repeat">Specifies if texture is repeat or clamping, repeat when true, otherwise clamp</param> /// <returns>The mesh for a hex cell</returns> public static Mesh GenerateHexCellMesh(HexCell cell, bool repeat = true) { Mesh hexMesh = new Mesh(); Vector2[] corners = cell.GetAllCorners(); Vector2 center = Map.HexCellToWorldPosition(cell); for (int i = 0; i < 6; i++) { corners[i] = corners[i] - center; } hexMesh.vertices = Converter.V2ArrayToV3Array(corners); hexMesh.triangles = HexTriangles(); if (repeat) { hexMesh.uv = corners; } else { hexMesh.uv = GetUvs(); } return(hexMesh); }