本文整理汇总了C++中ogre::OverlayContainer::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ OverlayContainer::getName方法的具体用法?C++ OverlayContainer::getName怎么用?C++ OverlayContainer::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::OverlayContainer
的用法示例。
在下文中一共展示了OverlayContainer::getName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Ogre::OverlayContainer *GUIHelper::findContainer(Ogre::OverlayContainer *overlay,
const Ogre::String subStrName)
{
ASSERT(overlay);
std::queue<Ogre::OverlayContainer *> q;
q.push(overlay);
Ogre::OverlayContainer *parent = 0;
while(!q.empty()){
parent = q.back();
q.pop();
if(parent->getName().find(subStrName) != Ogre::String::npos){
// we find it
return parent;
}
// else we have to iterate over all the children an put it in the queue
Ogre::OverlayContainer *child = 0;
Ogre::OverlayContainer::ChildIterator it = parent->getChildIterator();
while(it.hasMoreElements()){
child = static_cast<Ogre::OverlayContainer *>(it.peekNextValue());
if(!child){
break;
}
// else we put it in the queue
q.push(child);
it.moveNext();
}
}
return 0;
}
示例2:
GameplayScreen::~GameplayScreen()
{
//Destroy our game objects
delete mWhacker;
for(unsigned int i=0; i<mDragons.size(); i++)
{
delete mDragons[i];
}
//Destroy all entities created
Ogre::SceneManager* mSceneManager = Ogre::Root::getSingletonPtr()->getSceneManager("ApplicationSceneManager");
mSceneManager->destroyEntity("Stage");
//Remove the stage mesh
mStageNode->removeAndDestroyAllChildren();
mStageNode->getParentSceneNode()->removeAndDestroyChild(mStageNode->getName());
//Destroy our score overlay
//To do this, we must traverse all elements contained within
//the overlay and remove them one at a time.
Ogre::OverlayManager* overlayMgr = Ogre::OverlayManager::getSingletonPtr();
Ogre::Overlay::Overlay2DElementsIterator iter = mOverlay->get2DElementsIterator();
for(;iter.hasMoreElements();)
{
Ogre::OverlayContainer * childContainer = iter.getNext();
Ogre::OverlayContainer::ChildIterator contIter = childContainer->getChildIterator();
for(;contIter.hasMoreElements();)
{
Ogre::OverlayElement* curElement = contIter.getNext();
overlayMgr->destroyOverlayElement(curElement->getName());
}
overlayMgr->destroyOverlayElement(childContainer->getName());
}
overlayMgr->destroy(mOverlay->getName());
}
示例3: newImpl
void gkHUD::newImpl(void)
{
try
{
m_overlay = Ogre::OverlayManager::getSingleton().getByName(m_name.getName());
// Auto create if it's here
if (m_overlay)
{
Ogre::Overlay::Overlay2DElementsIterator elements = m_overlay->get2DElementsIterator();
while (elements.hasMoreElements())
{
Ogre::OverlayContainer* cont = elements.getNext();
addChild(new gkHUDElement(cont->getName()));
Ogre::OverlayContainer::ChildIterator childs = cont->getChildIterator();
while (childs.hasMoreElements())
{
Ogre::OverlayElement* elm = childs.getNext();
gkHUDElement* hele = new gkHUDElement(elm->getName());
addChild(hele);
}
}
}
}
catch (Ogre::Exception& e)
{
gkLogMessage("HUD: " << e.getDescription());
m_overlay = 0;
}
}