本文整理汇总了C++中IActionMapManager::CreateActionFilterIterator方法的典型用法代码示例。如果您正苦于以下问题:C++ IActionMapManager::CreateActionFilterIterator方法的具体用法?C++ IActionMapManager::CreateActionFilterIterator怎么用?C++ IActionMapManager::CreateActionFilterIterator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IActionMapManager
的用法示例。
在下文中一共展示了IActionMapManager::CreateActionFilterIterator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitActionEnums
void CEditorGame::InitActionEnums(IGameToEditorInterface* pGTE)
{
// init ActionFilter enums
IActionMapManager* pActionMapMgr = m_pGame->GetIGameFramework()->GetIActionMapManager();
if (pActionMapMgr)
{
std::vector<string> filterNames;
filterNames.push_back(""); // empty
IActionFilterIteratorPtr pFilterIter = pActionMapMgr->CreateActionFilterIterator();
while (IActionFilter* pFilter = pFilterIter->Next())
{
filterNames.push_back(pFilter->GetName());
}
size_t numFilters = 0;
const char** allFilters = new const char*[filterNames.size()];
std::vector<string>::const_iterator iter = filterNames.begin();
std::vector<string>::const_iterator iterEnd = filterNames.end();
while (iter != iterEnd)
{
allFilters[numFilters++] = iter->c_str();
++iter;
}
pGTE->SetUIEnums("action_filter", allFilters, numFilters);
delete[] allFilters;
}
}
示例2: InitActionEnums
void CEditorGame::InitActionEnums(IGameToEditorInterface* pGTE)
{
// init ActionFilter enums
IActionMapManager* pActionMapMgr = m_pGame->GetIGameFramework()->GetIActionMapManager();
if (pActionMapMgr)
{
std::vector<string> filterNames;
filterNames.push_back(""); // empty
IActionFilterIteratorPtr pFilterIter = pActionMapMgr->CreateActionFilterIterator();
while (IActionFilter* pFilter = pFilterIter->Next())
{
filterNames.push_back(pFilter->GetName());
}
size_t numFilters = 0;
const char** allFilters = new const char*[filterNames.size()];
std::vector<string>::const_iterator iter = filterNames.begin();
std::vector<string>::const_iterator iterEnd = filterNames.end();
while (iter != iterEnd)
{
allFilters[numFilters++] = iter->c_str();
++iter;
}
pGTE->SetUIEnums("action_filter", allFilters, numFilters);
delete[] allFilters;
}
// init vehicle light type enum
XmlNodeRef defaultDataRef = gEnv->pSystem->LoadXmlFromFile("Scripts/Entities/Vehicles/Lights/DefaultVehicleLights.xml");
if (defaultDataRef)
{
if (XmlNodeRef lightDefaultsRef = defaultDataRef->findChild("Lights"))
{
const char** typeNames = NULL;
int count = lightDefaultsRef->getChildCount() + 1;
typeNames = new const char*[count];
typeNames[0] = "All";
for (int i=1; i < count; i++)
{
if (XmlNodeRef tableRef = lightDefaultsRef->getChild(i-1))
{
typeNames[i] = tableRef->getAttr("type");
}
}
pGTE->SetUIEnums("vehicleLightTypes", typeNames, count);
delete[] typeNames;
}
}
}