mirror of
https://github.com/wu736139669/SmallGame_Cocos2dx.git
synced 2026-08-05 06:23:09 +00:00
69 lines
1.9 KiB
C++
69 lines
1.9 KiB
C++
/********************************************************************
|
|
created: 2014/04/02
|
|
filename: DialogManager.h
|
|
author: 王少培
|
|
purpose:
|
|
*********************************************************************/
|
|
#include "DialogManager.h"
|
|
#include "cocos2d.h"
|
|
|
|
|
|
// bool CDialogManager::showDialogModal(int iDialogIDD, GameLayer_Base* hParent/*=NULL*/) {
|
|
//
|
|
// return true;
|
|
// }
|
|
//
|
|
bool CDialogManager::hideDialog(int iDialogIDD) {
|
|
DialogDataMap::const_iterator iteFind = mvDialogDataMap.find(iDialogIDD);
|
|
|
|
if (iteFind == mvDialogDataMap.end()) {
|
|
return false;
|
|
}
|
|
iteFind->second.pObject->setVisible(false);
|
|
iteFind->second.pObject->onHide();
|
|
return true;
|
|
}
|
|
//
|
|
bool CDialogManager::hideAllDialogs() {
|
|
return true;
|
|
}
|
|
void CDialogManager::releaseAllDialog()
|
|
{
|
|
for (DialogDataMap::iterator iter = mvDialogDataMap.begin();
|
|
iter != mvDialogDataMap.end(); ++iter) {
|
|
SDialogData &data = iter->second;
|
|
CC_SAFE_RELEASE(data.pObject);
|
|
}
|
|
}
|
|
bool CDialogManager::onPackageFilter(void *pDataPkg)
|
|
{
|
|
DialogDataMap tmpDlgMap = mvDialogDataMap;
|
|
bool bRet = false;
|
|
DialogDataMap::const_iterator iter = tmpDlgMap.begin();
|
|
|
|
for (; iter != tmpDlgMap.end(); ++iter) {
|
|
GameLayer_Base* pObj = iter->second.pObject;
|
|
if (pObj&&pObj->isVisible())
|
|
{
|
|
bRet = pObj->onPackageFilter(pDataPkg);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
void CDialogManager::releaseDialog(int iDialogIDD)
|
|
{
|
|
DialogDataMap::iterator iteFind = mvDialogDataMap.find(iDialogIDD);
|
|
if (iteFind != mvDialogDataMap.end()){
|
|
CC_SAFE_RELEASE(iteFind->second.pObject);
|
|
if(iteFind->second.pObject->getParent())
|
|
iteFind->second.pObject->removeFromParent();
|
|
mvDialogDataMap.erase(iteFind);
|
|
}
|
|
}
|
|
unsigned long CDialogManager::sendDialogMessge(int iDialogIDD, int message, unsigned int wParam, long lParam, GameLayer_Base* hParent /*= NULL*/) {
|
|
return 0;
|
|
}
|
|
|
|
|
|
DialogDataMap CDialogManager::mvDialogDataMap;
|