void UpdatePolygon()
	{
		MeshFilter.sharedMesh = mesh;

		if (mesh == null)
			return;

		mesh.Clear();
		var vertices = new Vector3[Sides + 1];
		var triangles = new int[Sides * 3];

		for (int i = 0; i < Sides; i++)
		{
			vertices[i] = Vector2.up.Rotate(i * (360f / Sides));
			triangles[i * 3] = Sides;
			triangles[i * 3 + 1] = i;
			triangles[i * 3 + 2] = (i + 1) % Sides;
		}

		mesh.vertices = vertices;
		mesh.uv = vertices.Convert(v => v.ToVector2());
		mesh.triangles = triangles;
		mesh.RecalculateBounds();
		mesh.RecalculateNormals();
		mesh.Optimize();
	}
	void UpdatePolygon()
	{
		MeshFilter.sharedMesh = mesh;

		if (mesh == null)
			return;

		mesh.Clear();
		var vertices = new Vector3[2 * Slices + 1];
		var triangles = new int[Slices * 3];

		for (int i = 0; i < Slices; i++)
		{
			int verticesIndex = i * 2;
			float halfAngle = (360f / Slices * fillRatio) / 2;
			vertices[verticesIndex] = Vector2.up.Rotate(i * (360f / Slices) - halfAngle);
			vertices[verticesIndex + 1] = Vector2.up.Rotate(i * (360f / Slices) + halfAngle);
			triangles[i * 3] = Slices * 2;
			triangles[i * 3 + 1] = verticesIndex;
			triangles[i * 3 + 2] = (verticesIndex + 1);
		}

		mesh.vertices = vertices;
		mesh.uv = vertices.Convert(v => v.ToVector2());
		mesh.triangles = triangles;
		mesh.RecalculateBounds();
		mesh.RecalculateNormals();
		mesh.Optimize();
	}
示例#3
0
 void SetGridCenter(Vector3 c, bool notifyui = true)
 {
     grid.Center = c;
     if (notifyui)
     {
         gridcenterinput.text = c.Convert <string>();
     }
 }
示例#4
0
        public void CanConvertVectors()
        {
            var firstVector = new Vector3(2, 6, 8);
            var newVector   = firstVector.Convert <Vector2>();

            Assert.AreEqual(2, (int)newVector.Dimension);
            Assert.AreEqual(2, newVector.X);
            Assert.AreEqual(6, newVector.Y);
        }
示例#5
0
 public void SetUniform(string Parameter, Vector3 vec3)
 {
     SFMLShader.SetUniform(Parameter, vec3.Convert());
 }
 public void SetUniform(string Parameter, Vector3 vec3)
 {
     base.SetUniform(Parameter, vec3.Convert());
 }
示例#7
0
 public void UpdateScale()
 {
     _hexTile.transform.localScale = _scale;
     _hexTile.Model.Scale          = _scale.Convert();
 }