xLua
xLua copied to clipboard
xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.
 ----------------------------未生成代码时如下----------------------------   ----------------------------生成代码时如下------------------------------   unity版本 2019.4.11f1,xLua版本为v2.1.15
整合FairyGUI的时候, 用CodeGen生成代码,发现匿名方法, 还有Protected类型也会生成, 但是这样会导致编译错误,这里就屏蔽了匿名方法, 和Protected类型的方法生成
https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/compatible_bytecode.md,我字节码生成按照这个逻辑去生成的,但是webgl发布出来运行的时候,提示 format mismatch in precompiled chunk。直接用原lua文件没问题,字节码的就出错了。 有尝试把WebGLPlugins里面的ldump.c lundump.c lundump.h替换成build/lua5.3.5里面的对应文件。但是一样是这个错误。
我们的Transform类和RectTransform类都是绑定好的,然后在Lua中调用`rectTransform:GetComponentsInChildren(typeof(CS.UnityEngine.UI.Button))`函数会出现如下报错: **invalid argument to GetComponentsInChildren** 而且32位安卓和PC端均正常,只有64位会出错。 **后来我们发现的GetComponentsInChildren函数所在的Component父类没有绑定会导致这个问题。** 我想问问作者知道这个原因吗?有什么方法可以避免?因为除了这个尚不知道业务逻辑是否有别的地方会用到这种子类已绑定但父类未绑定的继承而来的函数,**开发中完全不知道自己用了这种函数感觉有点危险**。而如果每个绑定的子类都要手动绑定一下它的所有父类也会太过繁琐。 希望回复,谢谢。
例子xLua/Assets/XLua/Examples/02_U3DScripting/LuaBehaviour.cs 建议为每个脚本设置独立环境 教程建议的加载Lua脚本方式是:整个程序就一个DoString("require 'main'"),然后在main.lua加载其它脚本(类似lua脚本的命令行执行:lua main.lua) 然而独立环境设置的变量无法被require 'xxx'的脚本共享,例如如下,在02_U3DScripting基础上修改的。 public class TestByFile : MonoBehaviour { private LuaEnv _Luaenv = null; // Use this for initialization private void Start() { _Luaenv = new...
我的代码在单独的assembly define定义的程序集里,XLua在Assembly-CSharp,我在Assmbly-CSharp静态导出Hotfix列表,GenerateCode生成代码在XLua/Gen中,其中生成的代码会涉及到对于我的assembly define的程序集的引用,导致编译报错,请问如何处理这种问题?
在lua侧调用UnityWebRequest请求第三方tts文字转音频的接口,获取到bytes数组,结果DownloadHanderBuffer里的data从byte[]转string,变成了空字符串。在C#侧用相同的逻辑请求可以获取正确的数据,看到byte数组以多个0开头,会不会是底层C++从char*转string的时候遇到'\0'就结束了,导致转出来的string不对,也无法还原成byte[],有没有什么方案可以规避这个问题呢 local params = { text=text, nd_lang="zh-CHS", ent="intp65", aue="raw", sfl="1", auf="audio/L16;rate=8000", vcn=realVoice, speed=speed, volume=volume, pitch=pitch, reg="2", } cs_coroutine.start(function() local data = json.encode(params); cast(CS.System.Text.Encoding.UTF8, typeof(CS.System.Text.Encoding)) local raw = CS.System.Text.Encoding.UTF8:GetBytes(data); local request...
xlua _luaEnv = new LuaEnv(); _luaEnv.DoString(ohj.text); string name = _luaEnv.Global.Get("initcomm"); 在uwp平台无法运行,但是编辑器上可以正常运行,没发现有什么配置 请问有什么特殊的配置么? 我是在hololens眼镜中运行的。
现在 util 文件中给 C# 对象新增字段的方案为 util.state,实现其实就是使用 Lua 的元表。 但是现在发现会有这样的问题: ```lua -- 在某个地方加了一个新字段 util.state(csObj, { lua_newTable1 = {} }) -- 在另一个地方加了一个新字段 util.state(csObj, { lua_newTable2 = {} }) csObj.lua_newTable1.flag = true --...