Esempio n. 1
0
BOOL Scene::SetLoadData( const CHAR* filename, SCENE_LOAD& SceneLoad ) 
{
    __ENTER_FUNCTION

        CHAR    szTemp[ _MAX_PATH ], 
                szMap[ _MAX_PATH ],
                szMonster[ _MAX_PATH ],
                szPlatform[ _MAX_PATH ],
                szGrowPointData[ _MAX_PATH ],
                szGrowPointSetup[ _MAX_PATH ],
                szPatrolPointData[ _MAX_PATH ],
                szArea[ _MAX_PATH ],
                //szPet[_MAX_PATH],
                szStallInfo[ _MAX_PATH ] ;
                
        BOOL    IsPlatformExist ;
        BOOL    IsGrowPointExist ;
        BOOL    IsStallInfoExist ;

        ////////////////////////////////////////////////////////////////////////////////
        //读取场景文件 .scn
        memset( szTemp, 0, _MAX_PATH ) ;
        GET_SCENE_FULL_PATH( szTemp, filename ) ;

        Ini f( szTemp ) ;

        memset( szMap, 0, _MAX_PATH ) ;
        f.ReadText( "System", "navmapname", szMap, _MAX_PATH ) ;
        
        memset( szMonster, 0, _MAX_PATH ) ;
        f.ReadText( "System", "monsterfile", szMonster, _MAX_PATH ) ;
        
        memset( szArea, 0, _MAX_PATH ) ;
        f.ReadText( "System", "eventfile", szArea, _MAX_PATH ) ;
        
        memset( szPlatform, 0, _MAX_PATH ) ;
        IsPlatformExist = f.ReadTextIfExist( "System", "platformfile", szPlatform, _MAX_PATH ) ;
        
        memset( szGrowPointData, 0, _MAX_PATH ) ;
        IsGrowPointExist = f.ReadTextIfExist( "System", "growpointdata", szGrowPointData, _MAX_PATH ) ;
        if ( IsGrowPointExist )
        {
            memset( szGrowPointSetup, 0, _MAX_PATH ) ;
            f.ReadTextIfExist( "System", "growpointsetup", szGrowPointSetup, _MAX_PATH ) ;
        }

        //摊位信息
        memset( szStallInfo, 0, _MAX_PATH ) ;
        IsStallInfoExist = f.ReadTextIfExist( "System", "stallinfodata", szStallInfo, _MAX_PATH ) ;
        if ( IsStallInfoExist )
        {
            f.ReadText( "System", "stallinfodata", szStallInfo, _MAX_PATH ) ;
        }

        memset( szPatrolPointData,0,_MAX_PATH ) ;
        f.ReadText( "System", "patrolpoint", szPatrolPointData, _MAX_PATH ) ;
        
        //memset(szPet, 0, _MAX_PATH) ;
        //f.ReadText("System", "petfile", szPet, _MAX_PATH) ;
        

        SceneLoad.CleanUp() ;
        strncpy( SceneLoad.m_szMap, szMap, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szMonster, szMonster, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szPlatform, szPlatform, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szGrowPointData, szGrowPointData, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szGrowPointSetup, szGrowPointSetup, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szPatrolPointData, szPatrolPointData, _MAX_PATH - 1 ) ;
        strncpy( SceneLoad.m_szArea, szArea, _MAX_PATH - 1 ) ;
        //strncpy( SceneLoad.m_szPet, szPet, _MAX_PATH-1 ) ;
        strncpy( SceneLoad.m_szStallInfo, szStallInfo, _MAX_PATH - 1 ) ;
        SceneLoad.m_IsGrowPointExist = IsGrowPointExist ;
        SceneLoad.m_IsPlatformExist  = IsPlatformExist ;
        SceneLoad.m_IsStallInfoExist = IsStallInfoExist ;

        return TRUE ;

    __LEAVE_FUNCTION

        return FALSE ;
}
Esempio n. 2
0
BOOL Scene::Load( SCENE_LOAD* load )
{
    __ENTER_FUNCTION

        CHAR    szTemp[ _MAX_PATH ], 
                szMap[ _MAX_PATH ],
                szMonster[ _MAX_PATH ],
                szPlatform[ _MAX_PATH ],
                szGrowPointData[ _MAX_PATH ],
                szGrowPointSetup[ _MAX_PATH ],
                szPatrolPointData[ _MAX_PATH ],
                szArea[ _MAX_PATH ],
                //szPet[_MAX_PATH],
                szStallInfo[ _MAX_PATH ] ;

        memset( szTemp, 0, _MAX_PATH ) ;
        memset( szMap, 0, _MAX_PATH ) ;
        memset( szMonster, 0, _MAX_PATH ) ;
        memset( szPlatform, 0, _MAX_PATH ) ;
        memset( szGrowPointData, 0, _MAX_PATH ) ;
        memset( szGrowPointSetup, 0, _MAX_PATH ) ;
        memset( szPatrolPointData, 0, _MAX_PATH ) ;
        memset( szArea, 0, _MAX_PATH ) ;
        //memset( szPet, 0, _MAX_PATH ) ;
        memset( szStallInfo, 0, _MAX_PATH ) ;

        BOOL    IsPlatformExist ;
        BOOL    IsGrowPointExist ;
        BOOL    IsStallInfoExist ;


        strncpy( szMap, load->m_szMap, _MAX_PATH - 1 ) ;
        strncpy( szMonster, load->m_szMonster, _MAX_PATH - 1 ) ;
        strncpy( szPlatform, load->m_szPlatform, _MAX_PATH - 1 ) ;
        strncpy( szGrowPointData, load->m_szGrowPointData, _MAX_PATH - 1 ) ;
        strncpy( szGrowPointSetup, load->m_szGrowPointSetup, _MAX_PATH - 1 ) ;
        strncpy( szPatrolPointData, load->m_szPatrolPointData, _MAX_PATH - 1 ) ;
        strncpy( szArea, load->m_szArea, _MAX_PATH - 1 ) ;
        //strncpy( szPet, load->m_szPet, _MAX_PATH-1 ) ;
        strncpy( szStallInfo, load->m_szStallInfo, _MAX_PATH - 1 ) ;

        IsGrowPointExist = load->m_IsGrowPointExist ;
        IsPlatformExist = load->m_IsPlatformExist ;
        IsStallInfoExist = load->m_IsStallInfoExist ;

        //清除当前场景中的Player信息
        if ( m_pScenePlayerManager )
        {
            m_pScenePlayerManager->RemoveAllPlayer() ;
        }

        Log::SaveLog( SERVER_LOGFILE, "BeginLoad %d", this->SceneID() ) ;

        ////////////////////////////////////////////////////////////////////////////////
        //读取地图信息
        memset( szTemp, 0, _MAX_PATH ) ;
        GET_SCENE_FULL_PATH( szTemp, szMap ) ;
        
        BOOL ret = m_pMap->Load( szTemp ) ;
        if ( !ret )
        {
            Assert( FALSE ) ;
            return FALSE ;
        }

        if ( NULL == m_pZone )
        {
            INT cx = ( INT )( m_pMap->CX() / g_Config.m_ConfigInfo.m_ZoneSize ) ;
            INT cz = ( INT )( m_pMap->CZ() / g_Config.m_ConfigInfo.m_ZoneSize ) ;
            if( 0 < ( INT )m_pMap->CX() % g_Config.m_ConfigInfo.m_ZoneSize ) cx ++ ;
            if( 0 < ( INT )m_pMap->CZ() % g_Config.m_ConfigInfo.m_ZoneSize ) cz ++ ;

            m_ZoneInfo.m_wZoneSize = ( WORD )( cx * cz ) ;
            m_ZoneInfo.m_wZoneW    = ( WORD )cx ;
            m_ZoneInfo.m_wZoneH    = ( WORD )cz ;

            m_pZone = new Zone[ m_ZoneInfo.m_wZoneSize ] ;
            if ( NULL == m_pZone )
            {
                Assert( FALSE ) ;
                return FALSE ;
            }
            for ( WORD i = 0 ; i < m_ZoneInfo.m_wZoneSize ; i++ )
            {
                m_pZone[i].SetZoneID( ( ZoneID_t )i ) ;
            }
        }
        else
        {
            for( WORD i = 0 ; i < m_ZoneInfo.m_wZoneSize ; i++ )
            {
                m_pZone[i].CleanUp() ;
            }
        }


        Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;


        //////////////////////////////////////////////////////////////////////////
        // 读取巡逻路线信息 
        memset( szTemp, 0, _MAX_PATH ) ;
        GET_SCENE_FULL_PATH( szTemp, szPatrolPointData ) ;

        m_pPatrolPathMgr->CleanUp() ;
        m_pPatrolPathMgr->LoadPatrolPoint( szTemp ) ;
        Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;


        ////////////////////////////////////////////////////////////////////////////////
        //读取怪物信息 已经包含“读取宠物信息”
        memset( szTemp, 0, _MAX_PATH ) ;
        GET_SCENE_FULL_PATH( szTemp, szMonster ) ;

        // 重置宠物信息
        m_pPetManager->RemoveAllPet() ;
        m_pPetManager->Reset() ;

        m_pMonsterManager->RemoveAllMonster() ;
        m_pMonsterManager->Reset() ;
        ret = m_pMonsterManager->LoadMonster( szTemp ) ;
        if ( !ret )
        {
            Assert( FALSE ) ;
            return FALSE ;
        }


        ////////////////////////////////////////////////////////////////////////////////
        // 读取操作台
        if ( FALSE != IsPlatformExist )
        {
            memset( szTemp, 0, _MAX_PATH ) ;
            GET_SCENE_FULL_PATH( szTemp, szPlatform ) ;

            m_pPlatformManager->RemoveAllPlatform() ;
            ret = m_pPlatformManager->LoadPlatform( szTemp ) ;
            if ( FALSE == ret )
            {
                Assert( FALSE ) ;
                Log::SaveLog( SERVER_LOGFILE, "This scene read platform error!" ) ;
            }
            else
            {
                Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;
            }
        }
        else
        {
            Log::SaveLog( SERVER_LOGFILE, "This scene has no platform!" ) ;
        }

        ////////////////////////////////////////////////////////////////////////////////
        //读取摊位信息, 不能用于开辟副本
        if ( IsStallInfoExist )
        {
            memset( szTemp, 0, _MAX_PATH ) ;
            GET_SCENE_FULL_PATH( szTemp, szStallInfo ) ;

            m_pStallInfoManager->CleanUp() ;
            //分配内存
            m_pStallInfoManager->Init( m_pMap->CX(), m_pMap->CZ() ) ;
            //读取数据
            if ( FALSE == m_pStallInfoManager->Load( szTemp ) )
            {
                m_pStallInfoManager->CleanUp() ;
                Assert( FALSE ) ;
                Log::SaveLog( SERVER_LOGFILE, "This scene read stallinfo error!" ) ;
            }
            else
            {
                Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;
            }
        }
        else
        {
            Log::SaveLog( SERVER_LOGFILE, "This scene has no stallinfo!" ) ;
        }

        ////////////////////////////////////////////////////////////////////////////////
        //读取初始化玩家商店管理器
        m_pPlayerShopManager->Init( this ) ;
        Log::SaveLog( SERVER_LOGFILE, "Init m_pPlayerShopManager OK!" ) ;

        ////////////////////////////////////////////////////////////////////////////////
        //读取初始化掉落包管理器
        m_pItemBoxManager->Init() ;
        Log::SaveLog( SERVER_LOGFILE, "Init ItemBoxManager OK!" ) ;

        ////////////////////////////////////////////////////////////////////////////////
        //任务相关
        m_pLuaInterface->Destroy() ;
        m_pLuaInterface->Init( this ) ;
        Log::SaveLog( SERVER_LOGFILE, "Init LuaInterface OK!" ) ;

        ////////////////////////////////////////////////////////////////////////////////
        //脚本注册相关
        if ( !m_pScriptFileMgr->IsInit() )
        {
            m_pScriptFileMgr->Init( FILE_SCRIPT, FALSE ) ;
        }
        Log::SaveLog( SERVER_LOGFILE, "Load ../Public/Data/script.dat OK!" ) ;

        ////////////////////////////////////////////////////////////////////////////////
        //场景定时器
        if ( !m_pSceneTimers->IsInit() )
        {
            m_pSceneTimers->CreateTimer( g_Config.m_ConfigInfo.m_MaxTimerCount, this ) ;
        }
        else
        {
            m_pSceneTimers->CleanUp() ;
        }
                                    
        ////////////////////////////////////////////////////////////////////////////////
        //场景生长点
        if ( IsGrowPointExist )
        {
            memset( szTemp, 0, _MAX_PATH ) ;
            GET_SCENE_FULL_PATH( szTemp, szGrowPointData ) ;
            strcpy( szGrowPointData, szTemp ) ;

            memset( szTemp, 0, _MAX_PATH ) ;
            GET_SCENE_FULL_PATH( szTemp, szGrowPointSetup ) ;
            strcpy( szGrowPointSetup, szTemp ) ;

            m_GrowPointGroup.CleanUp() ;
            BOOL bInitGp = m_GrowPointGroup.Load( szGrowPointData, szGrowPointSetup ) ;
            if ( !bInitGp )
            {
                Log::SaveLog( SERVER_LOGFILE, "This scene has no growpoint!" ) ;
            }
        }
        else
        {
            Log::SaveLog( SERVER_LOGFILE, "This scene has no growpoint!" ) ;
        }

        ////////////////////////////////////////////////////////////////////////////////
        //事件区
        memset( szTemp, 0, _MAX_PATH ) ;
        GET_SCENE_FULL_PATH( szTemp, szArea ) ;

        m_pAreaManager->Term() ;
        ret = m_pAreaManager->Init( szTemp ) ;
        if ( !ret )
        {
            Assert( FALSE ) ;
            return FALSE ;
        }
        Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;

        m_EventCore.Reset() ;
        Log::SaveLog( SERVER_LOGFILE, "Reset EventCore ...OK!" ) ;

        Log::SaveLog( SERVER_LOGFILE, "EndLoad %d", this->SceneID() ) ;

        return TRUE ;

    __LEAVE_FUNCTION

        return FALSE ;
}
Esempio n. 3
0
BOOL Scene::Load( SCENE_LOAD* load )
{
__ENTER_FUNCTION

	CHAR	szTemp[_MAX_PATH], 
			szMap[_MAX_PATH],
			szMonster[_MAX_PATH],
			szPlatform[_MAX_PATH],
			szGrowPointData[_MAX_PATH],
			szGrowPointSetup[_MAX_PATH],
			szPatrolPointData[_MAX_PATH],
			szArea[_MAX_PATH],
			//szPet[_MAX_PATH],
			szStallInfo[_MAX_PATH],
			szBus[_MAX_PATH];

	memset( szTemp, 0, _MAX_PATH ) ;
	memset( szMap, 0, _MAX_PATH ) ;
	memset( szMonster, 0, _MAX_PATH ) ;
	memset( szPlatform, 0, _MAX_PATH ) ;
	memset( szGrowPointData, 0, _MAX_PATH ) ;
	memset( szGrowPointSetup, 0, _MAX_PATH ) ;
	memset( szPatrolPointData, 0, _MAX_PATH ) ;
	memset( szArea, 0, _MAX_PATH ) ;
	//memset( szPet, 0, _MAX_PATH ) ;
	memset( szStallInfo, 0, _MAX_PATH ) ;
	memset( szBus, 0, _MAX_PATH ) ;

	BOOL	IsPlatformExist;
	BOOL	IsGrowPointExist;
	BOOL	IsStallInfoExist;
	BOOL	IsBusExist;


	strncpy( szMap, load->m_szMap, _MAX_PATH-1 ) ;
	strncpy( szMonster, load->m_szMonster, _MAX_PATH-1 ) ;
	strncpy( szPlatform, load->m_szPlatform, _MAX_PATH-1 ) ;
	strncpy( szGrowPointData, load->m_szGrowPointData, _MAX_PATH-1 ) ;
	strncpy( szGrowPointSetup, load->m_szGrowPointSetup, _MAX_PATH-1 ) ;
	strncpy( szPatrolPointData, load->m_szPatrolPointData, _MAX_PATH-1 ) ;
	strncpy( szArea, load->m_szArea, _MAX_PATH-1 ) ;
	//strncpy( szPet, load->m_szPet, _MAX_PATH-1 ) ;
	strncpy( szStallInfo, load->m_szStallInfo, _MAX_PATH-1 ) ;
	strncpy( szBus, load->m_szBus, _MAX_PATH-1 ) ;

	IsGrowPointExist = load->m_IsGrowPointExist ;
	IsPlatformExist = load->m_IsPlatformExist ;
	IsStallInfoExist = load->m_IsStallInfoExist ;
	IsBusExist = load->m_IsBusExist ;

	//清除当前场景中的Player信息
	if( m_pScenePlayerManager )
	{
		m_pScenePlayerManager->RemoveAllPlayer() ;
	}

	Log::SaveLog( SERVER_LOGFILE, "BeginLoad %d", this->SceneID() ) ;

	////////////////////////////////////////////////////////////////////////////////
	//读取地图信息
	memset( szTemp, 0, _MAX_PATH ) ;
	GET_SCENE_FULL_PATH( szTemp, szMap );
	
	BOOL ret = m_pMap->Load( szTemp ) ;
	if( !ret )
	{
		Assert(FALSE) ;
		return FALSE ;
	}

	

	if(m_pZone==NULL)
	{
		INT cx = (INT)(m_pMap->CX()/g_Config.m_ConfigInfo.m_ZoneSize) ;
		INT cz = (INT)(m_pMap->CZ()/g_Config.m_ConfigInfo.m_ZoneSize) ;
		if( (INT)m_pMap->CX()%g_Config.m_ConfigInfo.m_ZoneSize > 0 ) cx ++ ;
		if( (INT)m_pMap->CZ()%g_Config.m_ConfigInfo.m_ZoneSize > 0 ) cz ++ ;

		m_ZoneInfo.m_wZoneSize = (WORD)(cx*cz) ;
		m_ZoneInfo.m_wZoneW = (WORD)cx ;
		m_ZoneInfo.m_wZoneH = (WORD)cz ;

		m_pZone = new Zone[m_ZoneInfo.m_wZoneSize] ;
		if( m_pZone==NULL )
		{
			Assert( FALSE ) ;
			return FALSE ;
		}
		for( WORD i=0; i<m_ZoneInfo.m_wZoneSize; i++ )
		{
			m_pZone[i].SetZoneID( (ZoneID_t)i ) ;
		}
	}
	else
	{
		for( WORD i=0; i<m_ZoneInfo.m_wZoneSize; i++ )
		{
			m_pZone[i].CleanUp() ;
		}
	}


	Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;

	m_ClientRes = g_pSceneManager->GetClientResByNavName( szMap ) ;

	//////////////////////////////////////////////////////////////////////////
	// 读取巡逻路线信息 FrankWu[9/20/2005]
	memset( szTemp, 0, _MAX_PATH ) ;
	GET_SCENE_FULL_PATH( szTemp, szPatrolPointData );

	m_pPatrolPathMgr->CleanUp() ;
	m_pPatrolPathMgr->LoadPatrolPoint(szTemp);
	Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp ) ;


	////////////////////////////////////////////////////////////////////////////////
	//读取怪物信息 已经包含“读取宠物信息”
	memset( szTemp, 0, _MAX_PATH ) ;
	GET_SCENE_FULL_PATH( szTemp, szMonster );

	// 重置宠物信息
	m_pPetManager->RemoveAllPet() ;
	m_pPetManager->Reset();
	
	m_pHorseManager->RemoveAllHorse();
	m_pHorseManager->Reset();

	m_pMonsterManager->RemoveAllMonster() ;
	m_pMonsterManager->Reset() ;
	ret = m_pMonsterManager->LoadMonster( szTemp ) ;
	if( !ret )
	{
		Assert(FALSE) ;
		return FALSE ;
	}


	////////////////////////////////////////////////////////////////////////////////
	// 读取操作台
	if( IsPlatformExist != FALSE )
	{
		memset( szTemp, 0, _MAX_PATH );
		GET_SCENE_FULL_PATH( szTemp, szPlatform );

		m_pPlatformManager->RemoveAllPlatform( ) ;
		ret = m_pPlatformManager->LoadPlatform( szTemp );
		if( ret == FALSE )
		{
			Assert(FALSE) ;
			Log::SaveLog( SERVER_LOGFILE, "This scene read platform error!" );
		}
		else
		{
			Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp );
		}
	}
	else
	{
		Log::SaveLog( SERVER_LOGFILE, "This scene has no platform!" );
	}

	////////////////////////////////////////////////////////////////////////////////
	//读取摊位信息, 不能用于开辟副本
	if(IsStallInfoExist)
	{
		memset( szTemp, 0, _MAX_PATH );
		GET_SCENE_FULL_PATH( szTemp, szStallInfo );
		Assert(m_pStallInfoManager);
		m_pStallInfoManager->CleanUp();
		//分配内存
		m_pStallInfoManager->Init( m_pMap->CX(), m_pMap->CZ() );
		//读取数据
		if(m_pStallInfoManager->Load( szTemp ) == FALSE)
		{
			m_pStallInfoManager->CleanUp();
			Assert(FALSE) ;
			Log::SaveLog( SERVER_LOGFILE, "This scene read stallinfo error!" );
		}
		else
		{
			Log::SaveLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp );
		}
	}
	else
	{
		Log::SaveLog( SERVER_LOGFILE, "This scene has no stallinfo!" );
	}

	////////////////////////////////////////////////////////////////////////////////
	//读取初始化掉落包管理器
	m_pItemBoxManager->Init();
	Log::SaveLog( SERVER_LOGFILE, "Init ItemBoxManager OK!" );

	m_pObjItemManager->Init();
	Log::SaveLog( SERVER_LOGFILE, "Init Obj_ItemManager OK!" );
	////////////////////////////////////////////////////////////////////////////////

	//读取初始化掉落包管理器
	m_pTimerDoingManager->Init();
	m_pTimerDoingManager->SetScene(this);
	Log::SaveLog( SERVER_LOGFILE, "Init TimerDoingManager OK!" );

	//任务相关
	m_pLuaInterface->Destroy() ;
	m_pLuaInterface->Init(this);
	Log::SaveLog( SERVER_LOGFILE, "Init LuaInterface OK!" );

	////////////////////////////////////////////////////////////////////////////////
	//脚本注册相关
	if( !m_pScriptFileMgr->IsInit() )
	{
		m_pScriptFileMgr->Init( FILE_SCRIPT, FALSE);
	}
	Log::SaveLog( SERVER_LOGFILE, "Load ../Public/Data/script.dat OK!" );

	////////////////////////////////////////////////////////////////////////////////
	//场景定时器
	if( !m_pSceneTimers->IsInit() )
	{
		m_pSceneTimers->CreateTimer(g_Config.m_ConfigInfo.m_MaxTimerCount,this);
	}
	else
	{
		m_pSceneTimers->CleanUp() ;
	}
								
	////////////////////////////////////////////////////////////////////////////////
	//场景生长点
	if(IsGrowPointExist)
	{
		memset( szTemp, 0, _MAX_PATH ) ;
		GET_SCENE_FULL_PATH( szTemp, szGrowPointData );
		strcpy(szGrowPointData,szTemp);

		memset( szTemp, 0, _MAX_PATH ) ;
		GET_SCENE_FULL_PATH( szTemp, szGrowPointSetup );
		strcpy(szGrowPointSetup,szTemp);

		m_GrowPointGroup.CleanUp() ;
		BOOL	bInitGp =  m_GrowPointGroup.Load(szGrowPointData,szGrowPointSetup);
		if(!bInitGp)
		{
			Log::SaveLog( SERVER_LOGFILE, "This scene has no growpoint!" );
		}
	}
	else
	{
		Log::SaveLog( SERVER_LOGFILE, "This scene has no growpoint!" );
	}

	////////////////////////////////////////////////////////////////////////////////
	// 读取Bus
	if(IsBusExist)
	{
		memset( szTemp, 0, _MAX_PATH );
		GET_SCENE_FULL_PATH( szTemp, szBus );

		_MY_TRY
		{
			m_pBusManager->RemoveAllBus( ) ;
		}
		_MY_CATCH
		{
		}
		m_pBusManager->Reset( ) ;
		ret = m_pBusManager->LoadBus( szTemp );
		if( ret == FALSE )
		{
			DiskLog( SERVER_LOGFILE, "This scene read bus error!" );
		}
		else
		{
			DiskLog( SERVER_LOGFILE, "Load %s ...OK!", szTemp );
		}
	}
	else
	{