本文整理汇总了C++中ogre::ResourceGroupManager::declareResource方法的典型用法代码示例。如果您正苦于以下问题:C++ ResourceGroupManager::declareResource方法的具体用法?C++ ResourceGroupManager::declareResource怎么用?C++ ResourceGroupManager::declareResource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::ResourceGroupManager
的用法示例。
在下文中一共展示了ResourceGroupManager::declareResource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
bool OgreModel::init(Ogre::String meshName,
Ogre::Vector3 pos, Ogre::Quaternion rot, Ogre::Vector3 scale,
Ogre::SceneNode *levelRoot,
Ogre::SceneManager *sceneManager,
Ogre::String const &resourceGroupName
)
{
mSceneManager = sceneManager;
// handle
Ogre::ResourceGroupManager *rgm = Ogre::ResourceGroupManager::getSingletonPtr();
if(!rgm->resourceExists(resourceGroupName, meshName))
rgm->declareResource(meshName, "FileSystem", resourceGroupName);
const bool withRestore = nullptr != mSceneNode;
Ogre::Any any;
if(withRestore)
{
any = mSceneNode->getUserObjectBindings().getUserAny();
if(mEntity != nullptr)
{
mEntity->detachFromParent();
mSceneManager->destroyEntity(mEntity);
mEntity = nullptr;
}
if(mSceneNode != nullptr)
{
OgreUtils::destroySceneNode(mSceneNode);
mSceneNode = nullptr;
}
}
mEntity = sceneManager->createEntity(meshName);
mSceneNode = levelRoot->createChildSceneNode(pos, rot);
mSceneNode->attachObject(mEntity);
mSceneNode->setInheritScale(false);
mSceneNode->setScale(scale);
if(withRestore)
{
mSceneNode->getUserObjectBindings().setUserAny(any);
}
return true;
}