找回密码
 立即注册
查看: 372|回复: 0

Unity-xlua C#侧将byte[]传递lua侧table

[复制链接]
发表于 2021-8-13 10:41 | 显示全部楼层 |阅读模式
一、 Xlua C#侧与lua侧的类型映射关系



    基本类型中C#侧 byte[] 对应lua侧的string;复杂类型中LuaTable 对应lua侧的table;
二、 实现

    思路:在c#侧将byte[]转LuaTable即可
  • C#侧:
    1. [LuaCallCSharp]public LuaTable TestBytes2(){byte[] testbyte = System.Text.Encoding.Default.GetBytes("ab");
    2.         luaTable = luaEnv.NewTable();for(int i =0; i < testbyte.Length; i++){//lua table 下标从1开始的
    3.             luaTable.Set(i +1, testbyte[i]);}return luaTable;}[LuaCallCSharp]publicbyte[]TestBytes1(){byte[] testbyte = System.Text.Encoding.Default.GetBytes("ab");return testbyte;}
    复制代码
  • lua侧
    1. function start()print("lua start...")       
    2.         local cube = CS.UnityEngine.GameObject.Find("Cube")
    3.         cubeBehavior = cube:GetComponent(typeof(CS.XLuaTest.LuaBehaviour))
    4.         local tmp1 = cubeBehavior:TestBytes1()print("tmp1 : ", tmp1)
    5.         local tmp2 = cubeBehavior:TestBytes2()print("tmp2 : ", tmp2[1], tmp2[2])       
    6. end
    复制代码
    输出结果截图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 10:01 , Processed in 0.089863 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表