Пример #1
0
        protected void ApplyShadowZeroAlloc(FillHelper verts, Color32 color, int start, int end, float z, bool justReplace)
        {
            UIVertex uIVertex = new UIVertex();

            for (int i = start; i < end; i++)
            {
                verts.PopulateUIVertex(ref uIVertex, i);
                Vector3 position = uIVertex.position;
                position.z        = z;
                uIVertex.position = position;
                uIVertex.color    = Color.Lerp(uIVertex.color, color, m_BodyAlpha);
                if (justReplace)
                {
                    verts.SetUIVertex(uIVertex, i);
                }
                else
                {
                    verts.AddVert(uIVertex);
                    if (i % 4 == 0)
                    {
                        var t = verts.currentVertCount - 1;
                        verts.AddTriangle(t + 0, t + 1, t + 3);
                        verts.AddTriangle(t + 3, t + 1, t + 2);
                    }
                }
            }
        }
Пример #2
0
        public void Draw(int id, Rect v, Vector2[] uv)
        {
            Vector2 c = VectorCode(id);
            int     t = vertex.currentVertCount;

            //Top-Left
            vertex.AddVert(new Vector2(v.xMin, v.yMin), TexUtility.RenderColor, uv[0], Vector2.zero, c);
            //Top-Right
            vertex.AddVert(new Vector2(v.xMax, v.yMin), TexUtility.RenderColor, uv[1], Vector2.zero, c);
            //Bottom-Right
            vertex.AddVert(new Vector2(v.xMax, v.yMax), TexUtility.RenderColor, uv[2], Vector2.zero, c);
            //Bottom-Left
            vertex.AddVert(new Vector2(v.xMin, v.yMax), TexUtility.RenderColor, uv[3], Vector2.zero, c);

            vertex.AddTriangle(t + 0, t + 1, t + 2);
            vertex.AddTriangle(t + 2, t + 3, t + 0);
        }