UH2S3L5——全局变量获取
UH2S3L5——全局变量获取
本章代码关键字
1 | luaState[] //C#可以通过tolua解析器的索引器传入全局变量名来调用全局变量 |
调用Lua全局变量
想要在C#中获取全局变量需要调用toLua解析器,使用[]
传入全局变量名来调用全局变量
和xLua一样,我们在C#中只调用Lua的Main脚本,剩下的Lua脚本调用在Lua的Main脚本里执行
和xLua一样,我们无法调用C#的Lua的局部变量
Main.lua
1 | print("第一个Lua脚本执行!") |
Test.lua
1 | print("C#调用Lua的测试脚本") |
获取全局变量
想要在C#中获取全局变量需要调用toLua解析器,使用索引器[]
传入全局变量名来获取全局变量
1 | LuaManager.Instance.Init(); |
修改全局变量
修改Lua的全局变量只需要在luaState
的索引器[]
传入全局变量名后为其赋值即可
1 | LuaManager.Instance.LuaState["testNumber"] = 99; |
值得一提的是,使用luaState[]
为变量赋值是值拷贝,为新的变量赋值不能影响原来的lua中的全局变量的值
1 | int value = Convert.ToInt32(LuaManager.Instance.LuaState["testNumber"]); |
添加全局变量
在C#里也可以为Lua的_G
表添加值,也就是添加全局变量,只需要通过luaState
的索引器为一个不存在的全局变量赋值即可
1 | print("addValue: " + LuaManager.Instance.LuaState["addValue"]); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!