写在前面

  • 本文是我对toLua(1.0.8.591版本)文件夹内容理解的记录。

文件夹结构

总览

  • 下图是toLua的Unity工程视图:

BaseType

  • 基础类型的Wrap文件,有些是自动生成(即用反射生成的)的,有些是作者准备的。

Core

  • 核心,作者为了让Lua能联系上C#而准备的框架内容:

    • 比如LuaAttribute.cs就记着标签,有些标签是固定要写的,有些标签是为了导出方便写的;
    • 比如LuaBaseRef.cs即作者设计的Lua基类,它的实现成员如下图;在断点查GC时经常会跳到这里来看计数;

  • 翻代码时最常翻到的是LuaState.cs、toLua.cs。

Editor

  • 编辑器用代码,编辑器如下图:

  • ToLuaMenu.cs是编辑器功能区,ToLuaExport.cs是代码模板,Extend文件夹没看到在哪里用。

Example

  • 示例区。
  • 工作项目常把它删了,要看示例的话(比如:不知道清理代码怎么写)还得回来找。

Injection

Lua

  • toLua的Lua脚本们,除了tolua.lua,其他都是工具的lua脚本。tolua.lua其实也只是负责require一些常用脚本,也不能算纯纯的lua入口。
  • Build.bat的功能是把lua脚本打成.bytes文件,可删,因为工作项目用不到,工作项目会写专门的打包脚本处理这部分功能。

Misc

  • 杂项,这里放的所有文件都是可用可不用的:

    • LuaClient:有些工程(比如LuaFramework_UGUI)会直接拿它当toLua启动器,自己写工程的话当然可以写别的启动器。
    • LuaCoroutine:协程。
    • LuaLooper:Mono的那堆更新函数XXXUpdate()。

Reflection

  • 要在Lua里用反射而准备的C#功能代码,可见作者提供的示例22_Reflection。

toLua文件夹结构的更多相关文章

  1. Cocos2d-x旧引擎文件夹结构

    转自:http://blog.csdn.net/lwuit/article/details/7870395 Cocos2d-x的文件夹结构例如以下: 文件夹的详细结构介绍例如以下: Box2D:物理引 ...

  2. 如何组织较大项目的MVC文件夹结构

    现在还用不到,拷贝下来备用,原文链接 2016 年 9 月 第 31 卷,第 9 期 ASP.NET Core - ASP.NET Core MVC 的功能切分 作者 Steve Smith | 20 ...

  3. 分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

    当新建完一个cocos2d-x的项目后.进入到项目中的proj.android中,会看到例如以下的文件夹结构 在VS先把它编译,然后导入到Eclipse中,导入完后会看到多了几个文件 watermar ...

  4. Android SVN开发实战的文件夹结构呈现

    svn有一个非常标准的文件夹结构,这是. 例如,该项目是proj.svn地址svn://proj/,然后该标准svn布局是 svn://proj/ | +-trunk +-branches +-tag ...

  5. Cocos2dx-3.1.1 冒险01----> 文件夹结构、新项目project创建并执行

    windows开发环境:window7.vs2012.python2.7.6 Cocos2d-x 3.1.1的完整文件夹例如以下:比起曾经的2.x的版本号来说分类更规范了 watermark/2/te ...

  6. 走进Linux01-磁盘分区与文件夹结构

    近期学习Linux,首先安装系统,遇到了磁盘分区.之前仅仅知道Linux分区是从/(根文件夹)開始的,至于磁盘格式,多块盘怎样挂载全然不了解,系统的查询了一下Linux磁盘分区和文件夹结构,整理一下. ...

  7. Cocos2d-x 3.0新引擎文件夹结构

    Cocos2d-x 3.0新引擎文件夹结构 2014年4月29日  Cocos2d-x 3.0学习 作为一个Cocos2d-x的菜鸟,我倒是挺愿意关注不同版本号之间的差别,Cocos2d-x 3.0自 ...

  8. Laravel 文件夹结构简介

    表 1.1:Laravel 文件夹结构简介 文件夹名称 简介 app 应用程序的业务逻辑代码存放文件夹 app/Console 存放自定义 Artisian 命令文件 app/Http/Control ...

  9. IOS 文件夹结构

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/MyGameZone/article/details/24494765 IOS文件夹结构 说明 这些仅 ...

  10. Java之旅hibernate(2)——文件夹结构

    Hibernate的jar最好是到官网上进行下载.下载最新的稳定的版本号.之后进行解压,以下我们介绍一下hibernate的包结构. 1.      包结构 我们能够看到包文件夹结构发生了变化.我以5 ...

随机推荐

  1. 指针和指针运算符一起时的运算规则(比如*p++和*++p的区别)

    接下来,通过示例彻底理解自增运算符的两种用法(自减的用法与之类似,只不过是加1变成了减1). 1.++i和i++的区别 如清单1(注意代码中的注释): #include <stdio.h> ...

  2. pypi镜像-清华

    临时使用 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 注意,simple 不能少, 是 https 而不是 ...

  3. CxImageJPG

    typedef struct tag_ExifInfo { char Version [5]; //EXIF 信息版本 char CameraMake [32]; //DC 制造商 char Came ...

  4. WCF部署HTTP错误404.3

    错误:WCF部署HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板-& ...

  5. 记一次SpringBoot整合Redis的Bug

    SpringBoot整合Redis遇见的坑 <!--Redis配置开始--> <dependency> <groupId>org.springframework.b ...

  6. 完全使用vscode开发python

    完全使用vscode开发python 作为Python开发,以前一直使用Pycharm社区版,因为卡顿,尝试使用vscode替换,尝试后并在工作中使用了半个月觉得真香,所以分享给大家. 更详细的视频介 ...

  7. 在element plus中使用checkbox 多选框实现大区省市区选择回选

    1.产品拿来淘宝后台页面,希望我们的快递发货也用这一套 长这样: 2.后端说提供的数据是树形结构,大区id不要传,传省的id,勾选哪个传哪个 3.element  ui的树形插件和级联选择器在数据上是 ...

  8. Lua中__index元方法的介绍与使用

    一.相关介绍请参考:Lua中__index原方法介绍 二.使用示例 代码如下: 下面示例使用的元素迭代器 --1.列表元素迭代器,仅返回列表中每一个元素,改列表索引必须为连续的数字 function ...

  9. vue3 微信支付和支付宝支付 H5和微信内置浏览器

    vue3微信支付和支付宝支付 // 判断是否为微信内置浏览器 let browser: any = navigator.userAgent.toLowerCase(); let isWechat: a ...

  10. go实现ls

    package mainimport ( "fmt" "log" "os")func main () { f,err :=os.Open(& ...