Example #1
0
// 初始化LuaState, 可以用来 Reload LuaState
func (this *AppBase) reloadLuaState() error {

	if this.luaState != nil {
		this.luaState.Close()
		this.luaState = nil
	}

	this.luaState = lua.NewState()
	if this.luaState == nil {
		return errors.New("场景线程初始化Lua失败")
	}

	RegLua_all_appBase(this.luaState)

	// 注册公告变量-->本线程
	this.luaState.SetGlobal("ts", this.GetLUserData("AppBase", this))

	// 执行初始化脚本
	this.luaState.Require("data/app_init")

	// 加载所有 login 文件夹里面的 *.lua 文件
	this.luaState.RequireDir("data/app")

	return nil
}
Example #2
0
// 初始化LuaState, 可以用来 Reload LuaState
func (this *Master) ReloadLuaState() error {

	if this.luaState != nil {
		this.luaState.Close()
		this.luaState = nil
	}

	this.luaState = lua.NewState()
	if this.luaState == nil {
		return errors.New("[E] 主线程初始化Lua失败")
	}

	// RegLua_all(this.luaState)

	// Require所有 master 文件夹里面的 *.lua 文件

	return nil
}
Example #3
0
// 初始化LuaState, 可以用来 Reload LuaState
func (this *ScreenThread) reloadLuaState() error {

	if this.luaState != nil {
		this.luaState.Close()
		this.luaState = nil
	}

	this.luaState = lua.NewState()
	if this.luaState == nil {
		return errors.New("[E] 场景线程初始化Lua失败")
	}

	RegLua_all(this.luaState)
	screen.RegLua_all(this.luaState)

	// 加载所有 screens 文件夹里面的 *.lua 文件
	this.luaState.RequireDir("data/screens")

	return nil
}