private void AddVertexData( Vector3 a, Vector3 b, Vector3 c, Vector3 d, byte n, TextureMapper.TextureMap.Face face, byte lBL, byte lTL, byte lTR, byte lBR ) { vBuffer[vBufferLength] = new VertexData(a.x, a.y, a.z, (byte)face.bl.x, (byte)face.bl.y, n, lBL); vBuffer[vBufferLength + 1] = new VertexData(b.x, b.y, b.z, (byte)face.tl.x, (byte)face.tl.y, n, lTL); vBuffer[vBufferLength + 2] = new VertexData(c.x, c.y, c.z, (byte)face.tr.x, (byte)face.tr.y, n, lTR); vBuffer[vBufferLength + 3] = new VertexData(d.x, d.y, d.z, (byte)face.br.x, (byte)face.br.y, n, lBR); triangles.Add(vBufferLength + 0); triangles.Add(vBufferLength + 1); triangles.Add(vBufferLength + 2); triangles.Add(vBufferLength + 2); triangles.Add(vBufferLength + 3); triangles.Add(vBufferLength + 0); vBufferLength += 4; }
private void Rebuild() { Vector2 graphicAnchoredPosition = currentSelectedGraphic.anchoredPosition; graphicAnchoredPosition.x = highlightPositions[currentHighlighted]; currentSelectedGraphic.anchoredPosition = graphicAnchoredPosition; TextureMapper textureMapper = GameManager.instance.textureMapper; for (int i = 0; i < 9; i++) { RawImage rawImage = elementGraphics[i]; int textureId = elements[i]; if (textureId < 0) { rawImage.enabled = false; continue; } rawImage.enabled = true; TextureMapper.TextureMap textureMap = textureMapper.map[(byte)textureId]; TextureMapper.TextureMap.Face face = textureMap.front; Rect uvRect = new Rect( 1.0f / 128 * face.bl.x * 16, 1 - (1.0f / 128 * face.bl.y * 16), 1.0f / 128 * 16, 1.0f / 128 * 16 ); rawImage.uvRect = uvRect; } }
private void AddTextureFace(TextureMapper.TextureMap.Face face) { uvs.Add(face.bl); uvs.Add(face.tl); uvs.Add(face.tr); uvs.Add(face.br); }