Exemple #1
0
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;
}
Exemple #2
0
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;
}