BOOL KScriptManager::Load() { BOOL bResult = false; BOOL bRetCode = false; ILuaScriptEx* piScript = NULL; lua_State* pLuaState = NULL; piScript = CreateLuaInterface(&KMemory::LuaAllocator, NULL); KGLOG_PROCESS_ERROR(piScript); bRetCode = RegisterScriptFunctions(piScript); KGLOG_PROCESS_ERROR(bRetCode); piScript->RegisterConstList(g_LuaServerConstList); pLuaState = piScript->GetLuaState(); KGLOG_PROCESS_ERROR(pLuaState); Luna<KScene>::Register(pLuaState); Luna<KHero>::Register(pLuaState); Luna<KPlayer>::Register(pLuaState); Luna<KAILogic>::Register(pLuaState); Luna<KAIState>::Register(pLuaState); Luna<KAIAction>::Register(pLuaState); Luna<KGItem>::Register(pLuaState); Luna<KGLuaItemInfo>::Register(pLuaState); Luna<KBall>::Register(pLuaState); bRetCode = LoadScripts(piScript, SERVER_SCRIPTS_DIR); KGLOG_PROCESS_ERROR(bRetCode); lua_gc(piScript->GetLuaState(), LUA_GCRESTART, 0); lua_gc(piScript->GetLuaState(), LUA_GCSETPAUSE, 100); lua_gc(piScript->GetLuaState(), LUA_GCSETSTEPMUL, 150); KG_COM_RELEASE(m_piScript); m_piScript = piScript; piScript = NULL; bResult = true; Exit0: KG_COM_RELEASE(piScript); return bResult; }
BOOL KScriptManager::Load() { BOOL bResult = false; BOOL bRetCode = false; ILuaScriptEx* piScript = NULL; piScript = CreateLuaInterface(&KMemory::LuaAllocator, NULL); KGLOG_PROCESS_ERROR(piScript); bRetCode = RegisterScriptFunctions(piScript); KGLOG_PROCESS_ERROR(bRetCode); piScript->RegisterConstList(g_LuaCenterConstList); Luna<KGPQ>::Register(piScript->GetLuaState()); Luna<KGlobalCustomDataManager>::Register(piScript->GetLuaState()); Luna<KGlobalSystemValueManager>::Register(piScript->GetLuaState()); Luna<KRole>::Register(piScript->GetLuaState()); Luna<KTong>::Register(piScript->GetLuaState()); Luna<KActivityManager>::Register(piScript->GetLuaState()); Luna<KMentorCenter>::Register(piScript->GetLuaState()); Luna<KMapInfo>::Register(piScript->GetLuaState()); Luna<KMapCopy>::Register(piScript->GetLuaState()); bRetCode = LoadScripts(piScript, CENTER_SCRIPTS_DIR); KGLOG_PROCESS_ERROR(bRetCode); lua_gc(piScript->GetLuaState(), LUA_GCRESTART, 0); lua_gc(piScript->GetLuaState(), LUA_GCSETPAUSE, 100); lua_gc(piScript->GetLuaState(), LUA_GCSETSTEPMUL, 150); KG_COM_RELEASE(m_piScript); m_piScript = piScript; piScript = NULL; bResult = true; Exit0: KG_COM_RELEASE(piScript); return bResult; }