/************************************************************************* Clear *************************************************************************/ int Lua_PakFile::Lua_clear(LuaPlus::LuaState* state) { if(m_pPakImpl) { destroyPakFile(m_pPakImpl); m_pPakImpl = 0; } m_pPakImpl = createPakFile(); return 0; }
/************************************************************************* Constructor *************************************************************************/ Lua_PakFile::Lua_PakFile(LuaPlus::LuaState* pLuaState) : LuaExport< Lua_PakFile >("PakFile", pLuaState) { //注册导出函数 RegisterFunction("clear", &AXP::Lua_PakFile::Lua_clear); RegisterFunction("openPakFile", &AXP::Lua_PakFile::Lua_openPakFile); RegisterFunction("extractAllToPath", &AXP::Lua_PakFile::Lua_extractAllToPath); RegisterFunction("extractFileToPath", &AXP::Lua_PakFile::Lua_extractFileToPath); RegisterFunction("updateFile", &AXP::Lua_PakFile::Lua_updateFile); RegisterFunction("removeFile", &AXP::Lua_PakFile::Lua_removeFile); RegisterFunction("test", &AXP::Lua_PakFile::Lua_test); m_pPakImpl = createPakFile(); }
/************************************************************************* 文件检查 *************************************************************************/ int Lua_Test::Lua_selfCheck(LuaPlus::LuaState* state) { LuaStack args(state); if(!(args[2].IsString())) { throw std::exception("TestUtil::selfCheck[2] param parameter error"); } const char* szPatchFile = args[2].GetString(); IPakFile* pPakFile = createPakFile(); if(!pPakFile->openPakFile(szPatchFile, true)) { state->PushBoolean(false); return 1; } bool bSuccess = pPakFile->selfCheck(0); state->PushBoolean(bSuccess); return 1; }