bool FrameManager::CreateToScene(string name) { GameFrame* frame = CreateFrame(name); if(!P_VALID(frame)) { return false; } if(!frame->LoadUI()) { return false; } frame->RegisterEvent(); mCurScene->addChild(frame); DWORD dwId = Util::Crc32((LPBYTE)name.data(), name.length()); mFrames[dwId] = frame; frame->retain(); return true; }
GameFrame* GameFrame::AddChildFrame(string className, string name) { DWORD dwId = GT_INVALID; if(name == "") dwId = UtilTool::Crc32((LPBYTE)className.data(), className.length()); else dwId = UtilTool::Crc32((LPBYTE)name.data(), name.length()); if(!GT_VALID(dwId)) return nullptr; FrameMapItor itor = mFrames.find(dwId); if(itor != mFrames.end()) return nullptr; GameFrame* frame = FrameManager::Shared()->CreateFrame(className); if(!P_VALID(frame)) { return nullptr; } if(!frame->LoadUI()) { return nullptr; } frame->RegisterEvent(); if(dwId == FrameManager::Shared()->GetMsgBoxID()) { //todo this->addChild(frame, 9999999); } else this->addChild(frame); mFrames[dwId] = frame; frame->retain(); return frame; }