Пример #1
0
/*************************************************************************
	Clear 
*************************************************************************/
int Lua_PakFile::Lua_clear(LuaPlus::LuaState* state)
{
	if(m_pPakImpl)
	{
		destroyPakFile(m_pPakImpl);
		m_pPakImpl = 0;
	}

	m_pPakImpl = createPakFile();

	return 0;
}
Пример #2
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();
}
Пример #3
0
/*************************************************************************
	文件检查
*************************************************************************/
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;
}