本文以映射自定义类MyClass.cs为例
打开框架后,新建场景
一、创建脚本MyClass.cs如下,名字空间使用“ZHF”
- <span style="font-size:18px;">using System;
- using System.Collections;
-
- namespace ZHF {
- public class MyClass {
- public const bool Zhang = false;
- }
- }
- </span>
二、在Project面板的Assets->LuaFramework->ToLua->Source->Generate目录下新建脚本,名字为ZHF_MyClassWrap.cs,
内容如下所示
- <span style="font-size:18px;">using System;
- using LuaInterface;
- using ZHF;
-
- public class ZHF_MyClassWrap {
- public static void Register(LuaState L) {
- L.BeginClass(typeof(ZHF.MyClass), typeof(System.Object));
- L.RegFunction("Display", Display);
- L.RegConstant("Zhang", 23333);
- L.EndClass();
- }
- [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
- static int Display(IntPtr L) {
- try {
- ToLua.Push(L, "sad");
- return 1;
- } catch (Exception e) {
- return LuaDLL.toluaL_exception(L, e);
- }
- }
- }</span>
在相同目录下面找到LuaBinder.cs,打开并导入刚刚新建的名字空间“ZHF”,并在Bind函数中加入如下代码:
保存上面的之后然后分别依次点击下面1、2两个框
三、待以上编译完成之后,就开始测试部分了
(1)按照以往的习惯,新建一个测试的脚本,挂载在场景中的一个空物体上,脚本如下所示:
(2)lua脚本内容已经存放位置如下所示,脚本名字是LuaTest.lua:
LuaTest.lua存放路径(注意这里和C#的测试脚本的路径对应)
四、运行
|
请发表评论