tolua wrap原理与使用

本文详细介绍了tolua wrap的原理和使用,从wrap文件的作用到类的注册、函数调用过程,揭示了C#类如何通过wrap在lua中被操作。通过反射生成wrap文件,lua调用C#实例函数和变量的过程,以及对象在lua中的存储方式逐一剖析。
摘要由CSDN通过智能技术生成

一、什么是wrap文件

每个wrap文件都是对一个c#类的包装,在lua中,通过对wrap类中的函数调用,间接的对c#实例进行操作。

二、wrap类文件生成和使用的总体流程

三、生成一个wrap文件的流程

这部分主要通过分析类的反射信息完成。

四、wrap文件内容解析

使用UnityEngine_GameObjectWrap.cs进行举例。

1.注册部分

1 public static void Register(LuaState L)
 2 {
   
 3     L.BeginClass(typeof(UnityEngine.GameObject), typeof(UnityEngine.Object));
 4     L.RegFunction("CreatePrimitive", CreatePrimitive);
 5     L.RegFunction("GetComponent", GetComponent);
 6     L.RegFunction("GetComponentInChildren", GetComponentInChildren);
 7     L.RegFunction("GetComponentInParent", GetComponentInParent);
 8     L.RegFunction("GetComponents", GetComponents);
 9     L.RegFunction("GetComponentsInChildren", GetComponentsInChildren);
10     L.RegFunction("GetComponentsInParent", GetComponentsInParent);
11     L.RegFunction("SetActive", SetActive);
12     L.RegFunction("CompareTag", CompareTag);
13     L.RegFunction("FindGameObjectWithTag", FindGameObjectWithTag);
14     L.RegFunction("FindWithTag", FindWithTag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值