share初始化

要看懂share先看与map的交互以及跨地图的交互
share初始化
void Share::ShareInit(I_DataLayer* data_layer)
{
    // 加载xls表
    if(!LoadnBodyId())//两种性别,三种职业
        Plug::PlugMessageBox("加载nBodyID表失败啊!");
    if(!LoadLevelInfo())//三种职业的等级信息
        Plug::PlugMessageBox("加载角色等级信息失败!");
    if(!LoadMapData())//地图的即.map的地址
        Plug::PlugMessageBox("加载地图数据失败!");
    
    // 加载item xml
    if (!LoadItemXml())//加载道具相关xml
        Plug::PlugMessageBox("加载道具Xml失败!");


    /*地图数量*/
    for(auto itMap : m_mapDataTable)
    {
        auto& pMap = m_mapMap[itMap.first] = NEW(Map);
        pMap->Init(GetMaxGcNumb(), itMap.second.map_path.c_str(), itMap.second.m_MapType);//初始化各种操作,其中包括起线程操作
        pMap->m_fnGetLevelInfo = std::bind(&Share::TGetLevelInfo, this, ph::_1, ph::_2, ph::_3);//获取等级信息的function

        pMap->m_nMapId = itMap.first;
        std::wstring name = L"地图";
        name += boost::lexical_cast<std::wstring>(pMap->m_nMapId);
        OnThreadId(pMap->GetThreadId(), name); //获取线程ID
    }

    m_pDataLayer = data_layer;
    //初始化 跨地图操作模块
    InitAcrossMapOpt();//初始化跨地图操作
    InitAcrossManager();//初始化跨地图管理器
}

 

posted @ 2014-12-07 17:04  zzyoucan  阅读(213)  评论(0编辑  收藏  举报