本文整理汇总了C++中ISegment::Init方法的典型用法代码示例。如果您正苦于以下问题:C++ ISegment::Init方法的具体用法?C++ ISegment::Init怎么用?C++ ISegment::Init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISegment
的用法示例。
在下文中一共展示了ISegment::Init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadSegment
//------------------------------------------------------------------------//
bool MusicManager::LoadSegment(ScriptNode* pNode)
{
FN("MusicManager::LoadSegment()");
// We use string ids in this scripting system
if(pNode->GetDataType() != Script::STRING)
return Error::Handle("No id found for sound identifier");
// Make sure the segment ID doesn't already exist
ISegmentMap::iterator itr = m_SegmentMap.find(pNode->GetString());
if(itr != m_SegmentMap.end())
return true;
SegmentInit init;
ScriptNode* pChildNode = pNode->GetChild();
init.m_pDLS = m_pCurrentDLS;
while(pChildNode)
{
if(MUSMGR_STRCMP(pChildNode->GetName(), "FileName") == 0)
init.m_sFileName = pChildNode->GetString();
else if(MUSMGR_STRCMP(pChildNode->GetName(), "Looping") == 0)
init.m_bLooping = pChildNode->GetBool();
else if(MUSMGR_STRCMP(pChildNode->GetName(), "Music") == 0)
init.m_bMusic = pChildNode->GetBool();
else if(MUSMGR_STRCMP(pChildNode->GetName(), "DLS") == 0)
{
IDLSMap::iterator itr = m_DLSMap.find(pChildNode->GetString());
if(itr != m_DLSMap.end())
init.m_pDLS = itr->second;
}
pChildNode = pChildNode->GetSibling();
}
ISegment* pSegment;
if(!AudioMgr()->CreateSegment(pSegment))
return false;
if(!pSegment->Init(init))
return false;
// Insert the segment into the map
m_SegmentMap.insert(make_pair(pNode->GetString(), pSegment));
return true;
}