一、什么是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