Children ZOrder Bug in Render CustomCommand

Hi;
I’m doing some custom drawing with my sprite and everything works fine, except when I add children to my sprite, they never get drawn on top of sprite. why that may happen?
I took ProgressTimer and changed only names, so that means ProgressTimer has same bug, it doesn’t draws it’s children on the top of it, what is the problem?
thanks for attention.

  void MYSprite::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags)
{
    if( ! _vertexData || ! _sprite)
        return;
    
    _customCommand.init(_globalZOrder);
    _customCommand.func = CC_CALLBACK_0(MYSprite::onDraw, this, transform, flags);
    renderer->addCommand(&_customCommand);
}

void MYSprite::onDraw(const Mat4 &transform, uint32_t flags)
{
    getGLProgram()->use();
    getGLProgram()->setUniformsForBuiltins(transform);
    
    GL::blendFunc( _sprite->getBlendFunc().src, _sprite->getBlendFunc().dst );
    
    GL::enableVertexAttribs(GL::VERTEX_ATTRIB_FLAG_POS_COLOR_TEX );
    
    GL::bindTexture2D( _sprite->getTexture()->getName() );
    
    glVertexAttribPointer( GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, sizeof(_vertexData[0]) , &_vertexData[0].vertices);
    glVertexAttribPointer( GLProgram::VERTEX_ATTRIB_TEX_COORD, 2, GL_FLOAT, GL_FALSE, sizeof(_vertexData[0]), &_vertexData[0].texCoords);
    glVertexAttribPointer( GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(_vertexData[0]), &_vertexData[0].colors);
    
    glDrawArrays(GL_TRIANGLE_FAN, 0, _allVertexCount);
    CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,_allVertexCount);
}

Hi GameDevGp,

did you find any solution , I am also facing the issue with progresstimer

Thanks,
Pavrd

Hi, I fixed it with RenderTexture, first of all I was drawing everything on that texture and then drawing it progresstimer