标签:获取 hand on() 影响 脚本 rip port toms 客户端
这里很多同学出现过一个问题,就是同时下载了很多的lua 调试插件,所以这里需要注意 如果使用luaide进行lua调试,
需要先禁用或卸载其他的lua调试插件.
步骤:
.vscode/launch.json
{
"name": "Unity-ulua",
"type": "lua",
"request": "attach",
"runtimeType": "Unity",
"localRoot": "${workspaceRoot}",
"fileExtname": ".lua",
"port": 7003,
"printType": 1
}
说明:
下载对应的LuaDebug 或 LuaDebugjit 后放入脚本目录中
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("192.168.1.102",7003)
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003)
1. IP地址当本机调试时可使用localhost远程调试或移动设备端调试是需要输入调试器所在机器具体的ip
2. port 端口 LuaIde 默认配置中端口为7003 如有需要可执行更改确保调试器配置端口和调用
代码的端口统一即可
3. breakSocketHandle luaIde断点及时刷新函数,需要在定时器中调用 该函数确保断点能够及时的
发送到lua 客户端
4. debugXpCall 程序异常监听函数,用于当程序出现异常时调试器定位错误代码 ulua 中为找到合适的位置添加 可忽略该方法不影响调试,如果有可统一添加的位置可告知一下
ulua 默认关闭了luaSocket 如果项目没有开启请自行开启
打开 Assets/Manager/LuaManager.cs 并添加如下代码
#region luaide 调试库添加
//如果项目中没有luasocket 请打开
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int LuaOpen_Socket_Core(IntPtr L)
{
return LuaDLL.luaopen_socket_core(L);
}
protected void OpenLuaSocket()
{
LuaConst.openLuaSocket = true;
lua.BeginPreLoad();
lua.RegFunction("socket.core", LuaOpen_Socket_Core);
lua.EndPreLoad();
}
#endregion
并在OpenLibs 方法中调用 OpenLuaSocket()
/// <summary>
/// 初始化加载第三方库
/// </summary>
void OpenLibs() {
lua.OpenLibs(LuaDLL.luaopen_pb);
lua.OpenLibs(LuaDLL.luaopen_sproto_core);
lua.OpenLibs(LuaDLL.luaopen_protobuf_c);
lua.OpenLibs(LuaDLL.luaopen_lpeg);
lua.OpenLibs(LuaDLL.luaopen_bit);
//luaide socket 开启
lua.OpenLibs(LuaDLL.luaopen_socket_core);
this.OpenLuaSocket();
//end luaide
this.OpenCJson();
}
示例文件:LuaManager.cs
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003)
local timer = Timer.New(function()
breakSocketHandle() end, 1, -1, false)
timer:Start();
示例文件:ULUA_Main.lua
由于采用的是c#语言所以可以利用到反射机制这样可以通过反射获取一些c#类型的值显示在调试器中
Assets/Scripts/Utility/
目录下public static BindType[] customTypeList
所在位置添加如下代码重新生成warp 这里我采用的是Clear warp files
贴一张c# 变量值的图
标签:获取 hand on() 影响 脚本 rip port toms 客户端
原文地址:http://www.cnblogs.com/k0204/p/7189474.html