public void Initialize() { /* Create mesh renderer */ MeshRenderer meshRenderer = PolygonUtilities.AddMeshRenderer(gameObject, "UI/Default"); /* Create mesh filter */ mesh = PolygonUtilities.AddMesh(gameObject); vertices = GenerateVertices(); mesh.vertices = vertices; mesh.triangles = GetTriangles(); mesh.normals = GetNormals(); mesh.uv = GetUVs(); meshRenderer.sharedMaterial.color = color; /* Create collider for dragging */ PolygonUtilities.BuildColliderForDrag(gameObject, radius); /* Create borders */ PolygonUtilities.DrawBorder(gameObject, vertices, borderColor, .08f, "Sprites/Default"); InitializeTexObjects(); minY = vertices[0].y; Debug.Log(vertices.Length); for (int i = 0; i < vertices.Length; i++) { Debug.Log(vertices[i].y); if (minY > vertices[i].y) { minY = vertices[i].y; } } float v = (radius - minY) / 2; midY = v + minY; resizeHandles(north, HandlePosition.N); resizeHandles(northEast, HandlePosition.NE); resizeHandles(northWest, HandlePosition.NW); resizeHandles(west, HandlePosition.W); resizeHandles(east, HandlePosition.E); resizeHandles(southEast, HandlePosition.SE); resizeHandles(south, HandlePosition.S); resizeHandles(southWest, HandlePosition.SW); }