Lua最近发现的错误,发现都没有提到这个方法,问题解决方法如下:
出错代码:
public class LuaBehaviour : MonoBehaviour
{
private LuaEnv m_LuaEnv = Manager.Lua.LuaEnv;
protected LuaTable m_ScripyEnv;
private Action m_LuaInit;
private Action m_LuaUpdate;
private Action m_LuaOnDestroy;
public string luaName;
private void Awake()
{
m_ScripyEnv = m_LuaEnv.NewTable();
//为每个脚本设置一个独立的环境,可以一定程度上防止脚本间全局变量、函数冲突。
LuaTable meta = m_LuaEnv.NewTable();
meta.Set("_index", m_LuaEnv.Global);//错误代码
m_ScripyEnv.SetMetaTable(meta);
meta.Dispose();
m_ScripyEnv.Set("self", this);
}
}
XLua中没有_index,只有__index,即有两个_而不是一个_ 。