UnityEngine.UI.VertexHelper.AddUIVertexStream C# (CSharp) Method

AddUIVertexStream() public method

public AddUIVertexStream ( List verts, List indices ) : void
verts List
indices List
return void
        public void AddUIVertexStream(List<UIVertex> verts, List<int> indices)
        {
            if (verts != null)
            {
                CanvasRenderer.AddUIVertexStream(verts, this.m_Positions, this.m_Colors, this.m_Uv0S, this.m_Uv1S, this.m_Normals, this.m_Tangents);
            }
            if (indices != null)
            {
                this.m_Indices.AddRange(indices);
            }
        }

Usage Example

コード例 #1
0
ファイル: Image.cs プロジェクト: haolly/UGUI_learn
        void GeneratePolygonSprite(VertexHelper vh, bool preserveAspect)
        {
            Vector4 v = GetDrawingDimensions(preserveAspect);
            var color32 = color;

            int len = sprite.vertices.Length;
            var vertices = new List<UIVertex>(len);
            Vector2 center = sprite.bounds.center;
            Vector2 invExtend = new Vector2(1 / sprite.bounds.size.x, 1 / sprite.bounds.size.y);
            for (int i = 0; i < len; i++)
            {
                // range [-0.5, 0.5] + 0.5 = [0, 1]
                float x = (sprite.vertices[i].x - center.x) * invExtend.x + 0.5f;
                float y = (sprite.vertices[i].y - center.y) * invExtend.y + 0.5f;
                
                UIVertex vertice = new UIVertex();
                vertice.color = color32;
                vertice.uv0 = sprite.uv[i];
                vertice.position = CalPosition(v, x, y);
                
                vertices.Add(vertice);
            }

            len = sprite.triangles.Length;
            
            var triangles = new List<int>(len);
            for (int i = 0; i < len; i++)
            {
                triangles.Add(sprite.triangles[i]);
            }
            vh.Clear();
            vh.AddUIVertexStream(vertices, triangles);
        }
All Usage Examples Of UnityEngine.UI.VertexHelper::AddUIVertexStream