当前位置: 首页 > news >正文

C#内映射lua表

都是通过同一个方法得到的

例如得到List

List<int> list = LuaMgr.GetInstance().Global.Get<List<int>>("testList");

只要把Get的泛型换成对应的类型即可

得到Dictionnary

Dictionary<string, int> dic2 = LuaMgr.GetInstance().Global.Get<Dictionary<string, int>>("testDic");

得到类

类里面的成员都必须是公有public的,而且成员名字要和lua脚本内的类相同

public class CallLuaClass
{//在这个类中去声明成员变量//名字一定要和 Lua那边的一样//公共 私有和保护 没办法赋值//这个自定义中的 变量 可以更多也可以更少//如果变量比 lua中的少 就会忽略它//如果变量比 lua中的多 不会赋值 也会忽略public int testInt;public bool testBool;public float testFloat;public float testString;public UnityAction testFun;public CallLuaInClass testInClass;
}public class CallLuaInClass
{public int testInInt;
}

 lua的类

CallLuaClas = {testInt = 1,testBool = true,testFloat = 1.1,testString = "1",function testFun()print("function")end,testInClass = {testInInt = 5,}
}

映射类代码

CallLuaClass obj = LuaMgr.GetInstance().Global.Get<CallLuaClass>("testClas");

万能类LuaTable装表(不建议使用)

void Start(){LuaMgr.GetInstance().Init();LuaMgr.GetInstance().DoLuaFile("Main");//不建议使用LuaTable和LuaFunction 效率低//引用对象LuaTable table = LuaMgr.GetInstance().Global.Get<LuaTable>("testClas");Debug.Log(table.Get<int>("testInt"));Debug.Log(table.Get<bool>("testBool"));Debug.Log(table.Get<float>("testFloat"));Debug.Log(table.Get<string>("testString"));table.Get<LuaFunction>("testFun").Call();//改  引用table.Set("testInt", 55);//使用完要销毁table.Dispose();}

 

备注*

LuaMgr是自己写的一个Xlua管理器,他是单例模式管理器,里面定义了luaEnv并实例化。GetInstance方法是得到这个LuaMgr单例类的,Global返回了luaEnv内的_G表,其中_G自带Get方法得到对应表

http://www.lryc.cn/news/195720.html

相关文章:

  • android studio检测不到真机
  • 【Eclipse】设置自动提示
  • 单片机TDL的功能、应用与技术特点 | 百能云芯
  • 解决笔记本无线网络5G比2.4还慢的奇怪问题
  • GitHub Action 通过SSH 自动部署到云服务器上
  • 【AOP系列】7.数据校验
  • 黑马JVM总结(三十七)
  • 企业如何通过媒体宣传扩大自身影响力
  • 处理vue直接引入图片地址时显示不出来的问题 src=“[object Module]“
  • vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
  • java正则表达式 及应用场景爬虫,捕获分组非捕获分组
  • 基于 Debian 稳定分支发行版的Zephix 7 发布
  • MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸
  • 修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库)
  • github: kex_exchange_identification: Connection closed by remote host
  • AWS香港Web3方案日,防御云安全实践案例受关注
  • QT 集成MQTT过程
  • GeoServer改造Springboot启动五(解决接口返回xml而不是json)
  • 在unity中给游戏物体一个标记
  • 【黑马程序员】机器学习
  • flutter card 使用示例
  • 推荐算法:是否对用户判断能力有影响!!!
  • 【OpenVINO】OpenVINO C# API 常用 API 详解与演示
  • django无法导入第三方库
  • 7-k8s-helm管理
  • 零基础怎么样才能学好 Python?Python 入门必看
  • 1.X3-Warming up
  • 【23真题】两电一邮之一,难度骤降!24可能回升!
  • 持续集成部署-k8s-资源调度:DaemonSet
  • RabbitMQ内容