Beispiel #1
0
        public void RenderEmoji(InlineText text, Texture texture, ref UIMeshGroup mesh)
        {
            _texture   = texture;
            _cachetext = text;
            _meshgroup = mesh;
            _rendering = true;

            SetVerticesDirty();
        }
Beispiel #2
0
 public void UnRenderEmoji()
 {
     if (_rendering)
     {
         _meshgroup = default(UIMeshGroup);
         SetVerticesDirty();
     }
     _texture   = null;
     _rendering = false;
 }
Beispiel #3
0
 internal bool GetUIMeshGroup(InlineText text, out UIMeshGroup mesh)
 {
     if (_feature != null)
     {
         var resultlist = _feature.Context.Results;
         for (int i = 0; i < resultlist.Count; i++)
         {
             var info = resultlist[i];
             if (info.RenderId == text.GetHashCode())
             {
                 mesh = info.MeshGroup;
                 return(true);
             }
         }
     }
     mesh = default(UIMeshGroup);
     return(false);
 }
        void RenderText(VertexHelper toFill, ref UIMeshGroup meshgroup)
        {
            var mesh = meshgroup.TextMeshResult;

            if (mesh.TextVerts != null)
            {
                for (int i = 0; i < mesh.TextVerts.Count; i += 4)
                {
                    int vertcnt = toFill.currentVertCount;
                    toFill.AddVert(mesh.TextVerts[i]);
                    toFill.AddVert(mesh.TextVerts[i + 1]);
                    toFill.AddVert(mesh.TextVerts[i + 2]);
                    toFill.AddVert(mesh.TextVerts[i + 3]);

                    toFill.AddTriangle(vertcnt, vertcnt + 1, vertcnt + 2);
                    toFill.AddTriangle(vertcnt + 2, vertcnt + 3, vertcnt);
                }
            }
        }