Now I design a class
Code: Select all
QuadTile : public Renderable, public Resource::Listener
Code: Select all
void QuadTile::_fireMaterialBackgroundRequest(void)
{
mpTexture = static_cast<TexturePtr>(TextureManager::getSingleton().create("BumpyMetal.jpg",ResourceGroupManager::
INTERNAL_RESOURCE_GROUP_NAME));
mpTexture->setBackgroundLoaded(true);
mpTexture->addListener(this);
//Background loading
ResourceBackgroundQueue* rbq = ResourceBackgroundQueue::getSingletonPtr();
rbq->load("Texture" ,mpTexture->getName(),ResourceGroupManager::
INTERNAL_RESOURCE_GROUP_NAME,false,0,0,0);
return ;
}
void QuadTile::backgroundLoadingComplete(Resource* res)
{
if(res == mpTexture.get())
{
_initialise();
}
}
Code: Select all
if (mIsBackgroundLoaded)
queueFireBackgroundLoadingComplete();
void Resource::load(bool background) doesn't run rightly.
Can someone tell me why and how to do correctly ?