写在前面

  • 本文是我对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. PMP学习笔记 (一)

    1.第一部分 1.1 项目管理的价值观 责任.尊重.公正.诚实 1.2 项目和运营区别 项目:具有独特性.临时性.渐进明细性 运营:具有重复性和持续性 1.3 项目的产出:产品.服务或成果 1.4 滚 ...

  2. ES相关问题

    取消写入保护 参考:https://blog.csdn.net/xudailong_blog/article/details/80850159

  3. IDEA 开发SSM

    1.配置MAVEN 2.初始化SpringBoot 官网API:https://spring.io/projects/spring-boot 初始化SpringBoot:https://start.s ...

  4. SpringBoot多数据源详细配置与使用(包含数据源和事务配置)

    SpringBoot项目数据库配置文件中配置多个数据源: #********* primary jdbc ************************** spring.datasource.dr ...

  5. Java流程控制之用户交互Scanner

    Scanner对象 java.util.Scanner是Java5的新特征,可以通过Scanner类来获取用户的输入 #基本语法# Scanner s = new Scanner(System.in) ...

  6. mysql数据库常用指令

    1.查询当前连接数据库别名 select database(); Current database 项显示当前连接的数据库 2.查询数据表中当天的数据 select * from 表名 WHERE T ...

  7. vscode调试openresty

    一.快速上手 1.软件下载 官网地址:https://code.visualstudio.com/ 安装视频:https://code.visualstudio.com/docs/getstarted ...

  8. 物联网5G工业网关的特点和应用场景

    BMG5100 系列产品,是一款工业级 5G 千兆物联网网关.集数据管理.智能采集.多种协议 转换.5G/4G 无线通信.数据处理转发.VPN 虚拟专网.本地存储.WIFI 覆盖等功能于一体. 产品特 ...

  9. docker 中搭建 mysql pxc 集群

      一.docker中创建pxc 容器 1.拉取PXC 镜像 pull docker pull percona/percona-xtradb-cluster:5.7.21 2.更改镜像名称为pxc t ...

  10. Linux 使用ssh服务管理远程主机

    配置网络服务 配置网卡的4种方法: 创建网络会话 RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态.可以使用 ...