写在前面

  • 本文是我对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. mmdetection3d安装

    conda create -n openmmlab python=3.7 -y conda activate openmmlab pip install torch==1.8.1+cu101 torc ...

  2. Prometheus API说明

    本文来自Prometheus官网手册 和 Prometheus简介,https://www.cnblogs.com/zhoujinyi/p/11955131.html HTTP API 在Promet ...

  3. Demo of canvas, canvas optimization and svg

    It used the canvas to draw the curves in the old project, and the client felt that it was vague, so ...

  4. Python学习笔记文件读写之生成随机的测试试卷文件

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  5. ResponseUtil 请求返回

    package com.infosec.sso.common; import java.io.IOException; import java.util.HashMap; import java.ut ...

  6. js 获取标签属性值

    有时候需要获取标签里属性里的值,可以采用以下方法: demo: <a href="/admin/article/${id}" onclick="return del ...

  7. 【Java】生成随机字符串

    package com.runsky.utils; import java.util.Random; public class GetRandom { private static final Str ...

  8. JWT & 用户身份认证演变过程

    一.起源 0.HTTP无状态 HTTP是无状态的,服务端和客户端如何保持登录状态? 工程师在服务端搞了亿点事情, 就有了下面的解决方案. 1.session认证 (1)什么是session? 服务器为 ...

  9. Flink监控信息写入到PushGateway出现 java.io.IOException: Response code from http xx was 200问题

    最近在将Flink的Metrics存储由InfluxDB迁移到Prometheus的时候,由于使用的版本问题,导致一直出现下面的WARN日志 2020-05-16 12:36:57.794 [Flin ...

  10. Mysql-------查询各科成绩前三名的记录

    查询各科成绩前三名的记录 分析如下: 1 select s.* from (select distinct Student.*,a.c_id, a.s_score, count( distinct b ...