本文整理汇总了C++中CScene::Uninit方法的典型用法代码示例。如果您正苦于以下问题:C++ CScene::Uninit方法的具体用法?C++ CScene::Uninit怎么用?C++ CScene::Uninit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CScene
的用法示例。
在下文中一共展示了CScene::Uninit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
CSceneManager::~CSceneManager()
{
SceneMap::iterator itor = m_mapSceneList.begin();
for(; itor != m_mapSceneList.end(); ++itor)
{
CScene *pScene = itor->second;
if(pScene != NULL)
{
pScene->Uninit();
delete pScene;
pScene = NULL;
}
}
}
示例2:
//***************************************************************
// 全更新
//***************************************************************
void CScene::UpdateAll(void)
{
//ポインタ宣言
CScene *pScene;
for(int nCount = 0 ; nCount < MAX_LIST ; nCount++)
{
pScene = m_apTop[nCount];
while(pScene)
{
//次のオブジェクトへのポインタを保存
CScene *pSceneNext = pScene->m_pNext;
//更新
pScene->Update();
//次のオブジェクトを代入
pScene = pSceneNext;
}
}
for(int nCount = 0 ; nCount < MAX_LIST ; nCount++)
{
pScene = m_apTop[nCount];
while(pScene)
{
//次のオブジェクトへのポインタを保存
CScene *pSceneNext = pScene->m_pNext;
//死亡フラグが成立している場合
if(pScene->m_bDelete)
{
//リストの先頭の場合
if(pScene == m_apTop[pScene->m_nPriority])
{
//先頭にリリース対象の次のアドレスを入れる
m_apTop[pScene->m_nPriority] = pScene->m_pNext;
//リストの残りが複数の時
if(pScene->m_pNext != NULL)
{
pScene->m_pNext->m_pPrev = NULL;
}
}
//リストの最後の場合
else if(pScene == m_apCur[pScene->m_nPriority])
{
m_apCur[pScene->m_nPriority] = pScene->m_pPrev;
pScene->m_pPrev->m_pNext = NULL;
}
//それ以外
else
{
pScene->m_pPrev->m_pNext = pScene->m_pNext;
pScene->m_pNext->m_pPrev = pScene->m_pPrev;
}
//解放処理
pScene->Uninit();
delete pScene;
}
//次のオブジェクトを代入
pScene = pSceneNext;
}
}
}