protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            var glyphMap = new NativeHashMap <int, Entity>(glyphQuery.CalculateEntityCount(), Allocator.TempJob);

            var glyphMapDeps = new BuildGlyphMapJob {
                GlyphMap = glyphMap.AsParallelWriter()
            }.Schedule(glyphQuery, inputDeps);

            var textMeshDeps = new BuildTextMeshJob {
                GlyphMap           = glyphMap,
                GlyphData          = GetBufferFromEntity <GlyphElement>(true),
                FontFaces          = GetComponentDataFromEntity <FontFaceInfo>(true),
                EntityType         = GetArchetypeChunkEntityType(),
                CharBufferType     = GetArchetypeChunkBufferType <CharElement>(true),
                TextOptionType     = GetArchetypeChunkComponentType <TextOptions>(true),
                TxtFontIDType      = GetArchetypeChunkComponentType <TextFontID>(true),
                ColorType          = GetArchetypeChunkComponentType <AppliedColor>(true),
                LTWType            = GetArchetypeChunkComponentType <LocalToWorld>(true),
                DimensionType      = GetArchetypeChunkComponentType <Dimensions>(true),
                MeshVertexDataType = GetArchetypeChunkBufferType <MeshVertexData>(),
                TriangleIndexType  = GetArchetypeChunkBufferType <TriangleIndexElement>(),
                CmdBuffer          = cmdBufferSystem.CreateCommandBuffer().ToConcurrent()
            }.Schedule(textQuery, glyphMapDeps);

            var finalDeps = glyphMap.Dispose(textMeshDeps);

            cmdBufferSystem.AddJobHandleForProducer(finalDeps);

            return(finalDeps);
        }
        protected override void OnUpdate()
        {
            var glyphMap = new NativeHashMap <int, Entity>(glyphQuery.CalculateEntityCount(), Allocator.TempJob);

            Dependency = new BuildGlyphMapJobChunk {
                GlyphMap   = glyphMap.AsParallelWriter(),
                EntityType = GetEntityTypeHandle(),
                FontType   = GetComponentTypeHandle <FontID>(true)
            }.Schedule(glyphQuery, Dependency);

            Dependency = new BuildTextMeshJob {
                GlyphMap           = glyphMap,
                GlyphData          = GetBufferFromEntity <GlyphElement>(true),
                FontFaces          = GetComponentDataFromEntity <FontFaceInfo>(true),
                Parents            = GetComponentDataFromEntity <Parent>(true),
                EntityType         = GetEntityTypeHandle(),
                CharBufferType     = GetBufferTypeHandle <CharElement>(true),
                TextOptionType     = GetComponentTypeHandle <TextOptions>(true),
                TxtFontIDType      = GetComponentTypeHandle <TextFontID>(true),
                ColorType          = GetComponentTypeHandle <AppliedColor>(true),
                LTWType            = GetComponentTypeHandle <LocalToWorld>(true),
                DimensionType      = GetComponentTypeHandle <Dimensions>(true),
                MeshVertexDataType = GetBufferTypeHandle <LocalVertexData>(),
                TriangleIndexType  = GetBufferTypeHandle <LocalTriangleIndexElement>(),
                CmdBuffer          = cmdBufferSystem.CreateCommandBuffer().AsParallelWriter()
            }.Schedule(textQuery, Dependency);

            Dependency = glyphMap.Dispose(Dependency);
            cmdBufferSystem.AddJobHandleForProducer(Dependency);
        }