40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Tencent is pleased to support the open source community by making UnLua available.
 | 
						|
// 
 | 
						|
// Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
 | 
						|
//
 | 
						|
// Licensed under the MIT License (the "License"); 
 | 
						|
// you may not use this file except in compliance with the License. You may obtain a copy of the License at
 | 
						|
//
 | 
						|
// http://opensource.org/licenses/MIT
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, 
 | 
						|
// software distributed under the License is distributed on an "AS IS" BASIS, 
 | 
						|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 | 
						|
// See the License for the specific language governing permissions and limitations under the License.
 | 
						|
 | 
						|
#include "LuaProtobufModule.h"
 | 
						|
#include "LuaEnv.h"
 | 
						|
#include "pb.h"
 | 
						|
 | 
						|
extern "C" int luaopen_pb(lua_State *L);
 | 
						|
extern "C" int luaopen_pb_unsafe(lua_State *L);
 | 
						|
 | 
						|
void FLuaProtobufModule::StartupModule()
 | 
						|
{
 | 
						|
    UnLua::FLuaEnv::OnCreated.AddStatic(&FLuaProtobufModule::OnLuaEnvCreated);
 | 
						|
}
 | 
						|
 | 
						|
void FLuaProtobufModule::ShutdownModule()
 | 
						|
{
 | 
						|
    UnLua::FLuaEnv::OnCreated.RemoveAll(this);
 | 
						|
}
 | 
						|
 | 
						|
void FLuaProtobufModule::OnLuaEnvCreated(UnLua::FLuaEnv& Env)
 | 
						|
{
 | 
						|
    Env.AddBuiltInLoader(TEXT("pb"), luaopen_pb);
 | 
						|
    Env.AddBuiltInLoader(TEXT("pb.unsafe"), luaopen_pb_unsafe);
 | 
						|
    Env.DoString("UnLua.PackagePath = UnLua.PackagePath .. ';/Plugins/UnLuaExtensions/LuaProtobuf/Content/Script/?.lua'");
 | 
						|
}
 | 
						|
 | 
						|
IMPLEMENT_MODULE(FLuaProtobufModule, LuaProtobuf)
 |