итератор списка не может быть увеличен с помощью менеджера ресурсов

Я работаю над менеджером ресурсов для моей игры. Однако при загрузке игры возникает проблема с итератором списка. Я получаю следующую ошибку

введите описание изображения здесь

Мой вывод

введите описание изображения здесь

Мой код:

  ResourceManagement*_rManager = new ResourceManagement();
_rManager->createGroup("meshes");
_rManager->createResource("Diabro\Diabro\media\models", "FileSystem", "ninja.mesh",  "Mesh", "meshes"); //location of file, codeType of resourcetype, name of resource, type of resource, resourcegroup
_rManager->loadResource("meshes");
_rManager->reloadResource("ninja.mesh", "meshes");
_rManager->unloadResource("ninja.mesh", "meshes");

Мой класс управления ресурсами

void ResourceManagement::createResource(std::string pLocation, std::string pLocType, std::string pResourceName, std::string pResourceType, std::string pGroupName)
{

_groupManager->getSingleton().addResourceLocation(pLocation , pLocType);
_groupManager->getSingleton().declareResource(pResourceName, pResourceType, pGroupName);
_groupManager->getSingleton().initialiseResourceGroup(pGroupName);
// Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); can be used to just load all, need decision which we want
}

/// <summary>
/// Unloads the resource.
/// </summary>
/// <param name="pResourceName">Name of the p resource.</param>
/// <param name="pGroupName">Name of the p group.</param>
void ResourceManagement::unloadResource(std::string pResourceName, std::string pGroupName) // unloads a single resource
{
Ogre::ResourcePtr ptr = _resourceMgr->getResourceByName(pResourceName);
ptr->unload();
_resourceMgr->remove(pResourceName);
}

/// <summary>
/// Unloads the resource goup.
/// </summary>
/// <param name="pGroupName">Name of the p group.</param>
void ResourceManagement::unloadResourceGoup(std::string pGroupName)
{
_groupManager->getSingleton().unloadResourceGroup(pGroupName);

}

/// <summary>
/// Loads the resource.
/// </summary>
/// <param name="pGroupName">Name of the p group.</param>
void ResourceManagement::loadResource(std::string pGroupName)
{
_groupManager->getSingleton().loadResourceGroup(pGroupName);
}

void ResourceManagement::createGroup(std::string pGroupName)
{
_groupManager->getSingleton().createResourceGroup(pGroupName);
}

/// <summary>
/// Reloads the resource.
/// </summary>
/// <param name="pResourceName">Name of the p resource.</param>
/// <param name="pGroupName">Name of the p group.</param>
void ResourceManagement::reloadResource(std::string pResourceName, std::string pGroupName)
{
Ogre::ResourcePtr ptr = _resourceMgr->load(pResourceName, pGroupName);
ptr->escalateLoading();
ptr->reload();

}

РЕДАКТИРОВАТЬ: из того, что я могу определить, кажется, что-то идет не так, когда я пытаюсь загрузить ресурс

   /// <summary>
/// Loads the resource.
/// </summary>
/// <param name="pGroupName">Name of the p group.</param>
void ResourceManagement::loadResource(std::string pGroupName)
{
_groupManager->getSingleton().loadResourceGroup(pGroupName);
}

_rManager->loadResource("meshes");

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]