void MainMenuLayer::PushOneLayer(CCLayer *pLayer,std::string param_1 /* = "" */,std::string param_2 /* = "" */) { if (sVecLayersInQuene == 0) { sVecLayersInQuene = new std::vector<CCLayer*>(); } for (std::vector<CCLayer*>::iterator iter = sVecLayersInQuene->begin(); iter != sVecLayersInQuene->end();iter++) { CCLayer* layer = (*iter); if (layer == pLayer) { return ; } } for (std::vector<CCLayer*>::iterator iter = sVecLayersInQuene->begin(); iter != sVecLayersInQuene->end();iter++) { CCLayer* layer = (*iter); if (layer->getTag() != kCCNodeTagInvalid) { LuaTinkerManager::Get()->callLuaFunc<bool>("Script/MainMenuUILayer.lua", "HideOneLayerByTag", layer->getTag()); } layer->closeLayerCallBack(); } MainMenuLayer * mLayer = GameManager::Get()->GetSceneLayer()->getMainMenuLayer(); NotificationCenter::defaultCenter()->broadcast(GM_LUA_LAYER_CLOSE,mLayer,param_1,param_2); GameConfigFromLuaManager::Get()->PushLayerInstanceToLua(pLayer); sVecLayersInQuene->clear(); sVecLayersInQuene->push_back(pLayer); }