Beispiel #1
0
        private void DrawTextCore(MeshGenerationContextUtils.TextParams textParams, TextHandle handle, float pixelsPerPoint)
        {
            TextInfo textInfo = handle.Update(textParams, pixelsPerPoint);

            for (int i = 0; i < textInfo.materialCount; i++)
            {
                bool flag = textInfo.meshInfo[i].vertexCount == 0;
                if (flag)
                {
                    break;
                }
                this.m_CurrentEntry.isTextEntry      = true;
                this.m_CurrentEntry.clipRectID       = this.m_ClipRectID;
                this.m_CurrentEntry.isStencilClipped = this.m_StencilClip;
                MeshBuilder.MakeText(textInfo.meshInfo[i], textParams.rect.min, new MeshBuilder.AllocMeshData
                {
                    alloc = this.m_AllocRawVertsIndicesDelegate
                });
                this.m_CurrentEntry.font = textInfo.meshInfo[i].material.mainTexture;
                this.m_Entries.Add(this.m_CurrentEntry);
                this.totalVertices += this.m_CurrentEntry.vertices.Length;
                this.totalIndices  += this.m_CurrentEntry.indices.Length;
                this.m_CurrentEntry = default(UIRStylePainter.Entry);
            }
        }